Projenizi, Java için Google API'leri İstemci Kitaplığı'nın bağımlılıklarını beyan edecek şekilde ayarladıktan sonra, istekte bulunmak için aşağıdaki adımları uygulayın. Bu sayfadaki snippet'lerde Cloud Resource Manager API'nin v3 sürümü kullanılmaktadır.
1. Adım: Kimlik doğrulama
Örneği
com.google.auth.oauth2.GoogleCredentials
örnekleyin. Google Cloud kullanıcıları Uygulama Varsayılan Kimlik Bilgilerini almak için GoogleCredentials.getApplicationDefault()
adresini kullanabilir.
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
Kimlik doğrulama hakkında daha fazla bilgi için Google Auth Library Java bölümüne bakın.
2. Adım: Hizmet Sınıfını Örnekleme
Bir Google hizmetinin bir veya daha fazla sürümü vardır. Hizmet sınıfı, bir hizmetin sürümünü temsil eder ve AbstractGoogleJsonClient'ın alt sınıfıdır.
Örneğin
com.google.api.services.cloudresourcemanager.v3.CloudResourceManager
.
Hizmet sınıfının derleyici sınıfı 3 parametre alır:
com.google.api.client.http.HttpTransport
.GoogleNetHttpTransport.newTrustedTransport()
bunun bir örneğini oluşturur.com.google.api.client.json.JsonFactory
.GsonFactory.getDefaultInstance()
bunun bir örneğini oluşturur.com.google.api.client.http.HttpRequestInitializer
.new HttpCredentialsAdapter(credentials)
bunun bir örneğini verir.
Ayrıca, uygulamanızın adıyla oluşturucunun setApplicationName()
yöntemini çağırın. Bu işlem, UserAgent üstbilgisini uygulama adıyla ayarlar ve günlüklerle ilgili sorunların giderilmesi açısından faydalıdır.
Bu kod aşağıdaki gibi görünür:
NetHttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
GsonFactory jsonFactory = GsonFactory.getDefaultInstance();
CloudResourceManager.Builder resourceManagerBuilder =
new CloudResourceManager.Builder(
transport, jsonFactory, new HttpCredentialsAdapter(credentials))
.setApplicationName("Example Java App");
CloudResourceManager cloudResourceManager = resourceManagerBuilder.build();
3. Adım: Kaynak Nesnesi oluşturma
Kaynak sınıfı, bir hizmet tarafından yönetilen kaynak türünü temsil eder. Sınıf, hizmet sınıfının bir iç sınıfı olarak tanımlanır. Hizmet sınıfındaki yöntemleri kullanarak bunlara erişebilirsiniz.
Örneğin, CloudResourceManager sınıfının "Projeler" kaynağını alabilirsiniz:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
4. Adım: İstek Nesnesi Oluşturma
Kaynak nesnesine yönelik işlemler istek sınıfları olarak temsil edilir. Kullanılabilir işlemler kaynak sınıfına bağlıdır. Örneğin, "create", "get" ve "delete" yöntemlerini sağlayan bir kaynak sınıfı, sırasıyla "Create", "Get" ve "Delete" istek sınıflarını içerir.
Cloud Resource Manager'ın örneğinde, projects.get
yöntemini çağırarak Get istek nesnesini oluşturabilirsiniz:
Get get = projects.get("projects/your-project-id");
5. Adım: İsteği yürütün
Bir istek nesnesi, isteği çalıştıran execute()
yöntemine sahiptir. Bu çağrı, Google hizmetine bir HTTP isteği yürütür ve bir model sınıfına verilen JSON yanıtını seri durumdan çıkarır. Örneğin, Get isteği nesnesinin execute()
yöntemi bir Proje nesnesi döndürür:
Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());
Özet
Bu adımları izleyerek Java için Google API'leri İstemci Kitaplığı'nı kullanarak istekte bulunabilirsiniz. Burada, Resource Manager hizmetini kullanan tüm adımları birleştiren kod snippet'i gösterilmektedir.
package com.example;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.gson.GsonFactory;
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager;
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects.Get;
import com.google.api.services.cloudresourcemanager.v3.model.Project;
import com.google.auth.http.HttpCredentialsAdapter;
import com.google.auth.oauth2.GoogleCredentials;
public class ResourceManagerSample {
public static void main(String[] arguments) throws Exception {
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
NetHttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
GsonFactory jsonFactory = GsonFactory.getDefaultInstance();
CloudResourceManager.Builder resourceManagerBuilder =
new CloudResourceManager.Builder(
transport, jsonFactory, new HttpCredentialsAdapter(credentials))
.setApplicationName("Example Java App");
CloudResourceManager cloudResourceManager = resourceManagerBuilder.build();
Projects projects = cloudResourceManager.projects();
Get get = projects.get("projects/your-project-id");
Project project = get.execute();
System.out.println("Project display name: " + project.getDisplayName());
}
}