Hızlı başlangıç kılavuzlarında, Google Workspace API.
Google Workspace hızlı başlangıç kılavuzları, bazı ve kimlik doğrulama ve yetkilendirme akışıyla ilgili ayrıntılara dikkat edin. Önerilerimiz: istemci kitaplıklarını kullanmayı tercih edebilirsiniz. Bu hızlı başlangıç kılavuzunda, test için uygun olan basitleştirilmiş kimlik doğrulama yaklaşımı bahsedeceğim. Üretim ortamı için şu konularda bilgi edinmenizi öneririz: kimlik doğrulama ve yetkilendirme önce erişim kimlik bilgilerini seçme seçmeniz gerekir.
Google Keep API'ye istek gönderen bir Java komut satırı uygulaması oluşturma.
Hedefler
- Ortamınızı ayarlayın.
- Örneği ayarlayın.
- Örneği çalıştırın.
Ön koşullar
- Java 1.8 veya üzeri.
- Gradle 7.0 veya üzeri.
- Bir Google Cloud projesi.
- Google Keep'in etkin olduğu bir Google Hesabı.
Ortamınızı ayarlama
Bu hızlı başlangıç kılavuzunu tamamlamak için ortamınızı ayarlayın.
API'yi etkinleştirme
Google API'lerini kullanmadan önce bir Google Cloud projesinde etkinleştirmeniz gerekir. Tek bir Google Cloud projesinde bir veya daha fazla API'yi etkinleştirebilirsiniz.Google Cloud konsolunda Google Keep API'yi etkinleştirin.
Hizmet hesabı oluşturma
Hizmet hesabı, bir uygulama tarafından kullanılan özel bir hesap türüdür çok daha iyi olur. Verilere erişmek veya işlem gerçekleştirmek için hizmet hesabı kullanabilirsiniz veya Google Workspace adına verilere erişmek için Cloud Identity kullanıcılarına erişim izni verebilirsiniz. Daha fazla bilgi için bkz. Hizmet hesaplarını anlamaGoogle Cloud Console
- Google Cloud konsolunda Menü'ye gidin > IAM ve Yönetici > Hizmet Hesapları.
- Hizmet hesabı oluştur'u tıklayın.
- Hizmet hesabı ayrıntılarını doldurun, ardından Oluştur ve devam et'i tıklayın.
- İsteğe bağlı: Google Cloud projenizin kaynaklarına erişim izni vermek için hizmet hesabınıza roller atayın. Daha ayrıntılı bilgi için Kaynaklara erişim izni verme, erişimi değiştirme ve iptal etme başlıklı makaleyi inceleyin.
- Devam'ı tıklayın.
- İsteğe bağlı: Bu hizmet hesabıyla işlemleri yönetebilen ve gerçekleştirebilen kullanıcıları veya grupları girin. Daha fazla bilgi için Hizmet hesabı kimliğine bürünmeyi yönetme başlıklı makaleye bakın.
- Bitti'yi tıklayın. Hizmet hesabının e-posta adresini not edin.
gcloud CLI
- Hizmet hesabını oluşturun:
gcloud iam service-accounts create
SERVICE_ACCOUNT_NAME
\ --display-name="SERVICE_ACCOUNT_NAME
" - İsteğe bağlı: Google Cloud projenizin kaynaklarına erişim izni vermek için hizmet hesabınıza roller atayın. Daha ayrıntılı bilgi için Kaynaklara erişim izni verme, erişimi değiştirme ve iptal etme başlıklı makaleyi inceleyin.
Bir hizmet hesabı için kimlik bilgileri oluşturma
Kimlik bilgilerini ortak/özel anahtar çifti biçiminde almanız gerekir. Bu kimlik bilgileri, kodunuz tarafından en iyi şekilde yararlanabilirsiniz.- Google Cloud konsolunda Menü'ye gidin > IAM ve Yönetici > Hizmet Hesapları.
- Hizmet hesabınızı seçin.
- Anahtarlar > Anahtar ekle > Yeni anahtar oluştur'u tıklayın.
- JSON'yi seçip Oluştur'u tıklayın.
Yeni ortak/özel anahtar çiftiniz oluşturulur ve cihazınıza indirilir. yeni bir dosya olarak kaydeder. İndirilen JSON dosyasını şuraya
credentials.json
olarak kaydedin: çalışma dizinine ekleyin. Bu dosya, bu anahtarın tek kopyasıdır. Verilerinizin nasıl depolanacağı hakkında bilgi için anahtarınızı güvenli bir şekilde Hizmet hesabı anahtarlarını yönetme. - Kapat'ı tıklayın.
Bir hizmet hesabı için alan genelinde yetki ayarlarını yapma
Bir Google Workspace kuruluşundaki kullanıcılar adına API'leri çağırmak için: hizmet hesabınıza, alan genelinde yetki verilmiş olması gereklidir. Google Workspace Yönetici Konsolu'na erişim izni verebilirsiniz. Daha fazla bkz. Bir hizmet hesabına alan genelinde yetki verme.- Google Cloud konsolunda Menü'ye gidin > IAM ve Yönetici > Hizmet Hesapları.
- Hizmet hesabınızı seçin.
- Gelişmiş ayarları göster'i tıklayın.
- "Alan genelinde yetki"nin altında hizmet hesabınızın "İstemci Kimliği"ni bulmanız gerekir. İstemci kimliği değerini panonuza kopyalamak için kopyala simgesini tıklayın.
İlgili Google Workspace hesabına süper yönetici erişiminiz varsa Google Workspace Yönetici Konsolu'nu görüntüleyin ve süper yönetici kullanıcı kullanarak oturum açın. hesabınıza gidin ve bu adımları uygulamaya devam edin.
İlgili Google Workspace hesabına süper yönetici erişiminiz yoksa söz konusu hesapla ilgili bir süper yöneticiye başvurun ve hizmet hesabınızın Client-ID'sini gönderin ve OAuth kapsamlarının listesini içerir.
- Google Yönetici Konsolu'nda Menü'ye gidin > Güvenlik > Erişim ve veri denetimi > API denetimleri'ne dokunun.
- Alan Genelinde Yetkiyi Yönet'i tıklayın.
- Yeni ekle'yi tıklayın.
- "Client ID" (İstemci Kimliği) bölümünde alanına, daha önce kopyaladığınız istemci kimliğini yapıştırın.
- "OAuth Scopes" (OAuth Kapsamları) bölümünde alanına, uygulamanızın gerektirdiği kapsamların virgülle ayrılmış listesini girin. Bu, OAuth izin ekranını yapılandırırken tanımladığınız kapsam kümesiyle aynıdır.
- Yetkilendir'i tıklayın.
Çalışma alanını hazırlama
Çalışma dizininizde yeni bir proje yapısı oluşturun:
gradle init --type basic mkdir -p src/main/java src/main/resources
src/main/resources/
dizinindecredentials.json
dosyasını kopyalayın. indirilmiş başka bir uygulamadır.Varsayılan
build.gradle
dosyasını açın ve içeriğini şu kodu kullanabilirsiniz:apply plugin: 'java' apply plugin: 'application' mainClassName = 'KeepQuickstart' sourceCompatibility = 1.8 targetCompatibility = 1.8 version = '1.0' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { implementation 'com.google.api-client:google-api-client:1.23.0' implementation 'com.google.oauth-client:google-oauth-client-jetty:1.23.0' implementation 'com.google.apis:google-api-services-keep:v1-rev20210528-1.31.0' }
Örneği ayarlayın
src/main/java/
dizininde aşağıdaki ada sahip yeni bir Java dosyası oluşturun:build.gradle
dosyanızdakimainClassName
değeriyle eşleşiyor.Yeni Java dosyanıza aşağıdaki kodu ekleyin:
import com.google.api.client.auth.oauth2.Credential; import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp; import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver; import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow; import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets; import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.client.json.JsonFactory; import com.google.api.client.json.gson.GsonFactory; import com.google.api.client.util.store.FileDataStoreFactory; import com.google.api.services.keep.v1.Keep; import com.google.api.services.keep.v1.model.Note; import com.google.api.services.keep.v1.model.Section; import com.google.api.services.keep.v1.model.TextContent; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.security.GeneralSecurityException; import java.util.Collections; import java.util.List; public class KeepQuickstart { private static final String APPLICATION_NAME = "Google Keep API Java Quickstart"; private static final JsonFactory JSON_FACTORY = GsonFactory.getDefaultInstance(); /** * Global instance of the scopes required by this quickstart. If modifying these scopes, delete * your previously saved tokens/ folder. */ private static final List<String> KEEP_SCOPES = Collections.singletonList("https://www.googleapis.com/auth/keep"); private static final String CREDENTIALS_FILE_PATH = "/credentials.json"; /** * Creates an authorized Credential object. * * @param HTTP_TRANSPORT The network HTTP Transport. * @return An authorized Credential object. * @throws IOException */ private static Credential getOAuthCredentials(final NetHttpTransport HTTP_TRANSPORT) throws IOException { // Load client secrets. InputStream in = KeepQuickstart.class.getResourceAsStream(CREDENTIALS_FILE_PATH); if (in == null) { throw new FileNotFoundException("Resource not found: " + CREDENTIALS_FILE_PATH); } GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in)); // Build flow and trigger user authorization request. GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder( HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, KEEP_SCOPES) .setDataStoreFactory(new FileDataStoreFactory(new java.io.File("tokens"))) .setAccessType("offline") .build(); LocalServerReceiver receiver = new LocalServerReceiver.Builder().setPort(8888).build(); return new AuthorizationCodeInstalledApp(flow, receiver).authorize("user"); } public static void main(String... args) throws IOException, GeneralSecurityException { // Build a new authorized API client service. final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport(); Keep service = new Keep.Builder(HTTP_TRANSPORT, JSON_FACTORY, getOAuthCredentials(HTTP_TRANSPORT)) .setApplicationName(APPLICATION_NAME) .build(); Section noteBody = new Section().setText(new TextContent().setText("Finish preparations by tomorrow!")); Note newNote = new Note().setTitle("Customer call next week").setBody(noteBody); // Creates a new text note. service.notes().create(newNote).execute(); } }
Örneği çalıştırma
Örneği çalıştırın:
gradle run
-
Örneği ilk kez çalıştırdığınızda sizden erişimi yetkilendirmeniz istenir:
- Google Hesabınızda henüz oturum açmadıysanız istendiğinde oturum açın. Eğer Birden fazla hesapta oturum açtıysanız yetkilendirme için kullanmak üzere bir hesap seçin.
- Kabul et'i tıklayın.
Java uygulamanız çalışır ve Google Keep API'yi çağırır.
Yetkilendirme bilgileri dosya sisteminde depolanır. Böylece, örneği çalıştırdığınız bir dahaki sefere yetkilendirmeniz istenmez.
Sonraki adımlar
- Kimlik doğrulama ve yetkilendirme sorunlarını giderme
- Google Keep API referans belgeleri
- Java için Google API'leri İstemcisi belgeleri
- Google Keep API Javadoc dokümanları