Projenizi, Java için Google API'leri istemci kitaplığınızın bağımlılıklarını bildirecek şekilde ayarladıktan sonra istekte bulunmak için aşağıdaki adımları uygulayın. Bu sayfadaki snippet'lerde Cloud Resource Manager API'nin 3. sürümü kullanılmaktadır.
1. adım: Kimlik doğrulama
Instantiate
com.google.auth.oauth2.GoogleCredentials
instance. Google Cloud kullanıcıları, GoogleCredentials.getApplicationDefault() komutunu kullanarak uygulama varsayılan kimlik bilgilerini alabilir.
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
Kimlik doğrulama hakkında daha fazla bilgi için Google Auth Library Java başlıklı makaleyi inceleyin.
2. adım: Hizmet sınıfını başlatın
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 oluşturucu sınıfı 3 parametre alır:
com.google.api.client.http.HttpTransport.new com.google.api.client.http.javanet.NetHttpTransport()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)bir örneğini verir.
Ayrıca, uygulamanızın adıyla birlikte oluşturucunun setApplicationName() yöntemini de çağırın. Bu, UserAgent üst bilgisini uygulama adıyla ayarlar ve günlüklerle sorun giderme konusunda yardımcı olur.
Kod şu şekilde görünür:
HttpTransport transport = new NetHttpTransport();
JsonFactory 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şturun
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 iç sınıfı olarak tanımlanır. Bunlara hizmet sınıfındaki yöntemleri kullanarak erişebilirsiniz.
Örneğin, CloudResourceManager sınıfının "Projects" kaynağını alabilirsiniz:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
4. adım: İstek nesnesi oluşturun
Kaynak nesnesiyle ilgili işlemler, istek sınıfları olarak gösterilir. 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 örneğinde, projects.get yöntemini çağırarak Get isteği nesnesini oluşturabilirsiniz:
Get get = projects.get("projects/your-project-id");
5. adım: İsteği yürütün
İstek nesnesinde, isteği çalıştıran execute() yöntemi bulunur. Bu çağrı, Google hizmetine bir HTTP isteği gönderir ve JSON yanıtını bir model sınıfına seri durumdan çıkarır. Örneğin, Get
request nesnesinin execute() yöntemi bir Project nesnesi döndürür:
Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());
Özet
Bu adımları uygulayarak Java için Google API İstemci Kitaplığı'nı kullanarak istekte bulunabilirsiniz. Aşağıda, Resource Manager hizmetini kullanarak tüm adımları birleştiren kod snippet'i verilmiştir.
package com.example;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
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();
HttpTransport transport = new NetHttpTransport();
JsonFactory 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());
}
}