API İstekleri

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:

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());
  }
}