Permintaan API

Setelah Anda menyiapkan project guna mendeklarasikan dependensi untuk Library Klien Google API untuk Java, ikuti langkah-langkah berikut untuk membuat permintaan. Cuplikan di halaman ini menggunakan Cloud Resource Manager API v3.

Langkah 1: Autentikasi

Buat instance com.google.auth.oauth2.GoogleCredentials di instance Compute Engine. Untuk pengguna Google Cloud, Anda dapat menggunakan GoogleCredentials.getApplicationDefault() untuk mendapatkan Kredensial Default Aplikasi.

GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();

Untuk informasi selengkapnya tentang autentikasi, lihat Java Library Google Auth.

Langkah 2: Membuat Instance Class Layanan

Layanan Google memiliki satu atau beberapa versi. Class layanan mewakili versi dan merupakan kelas turunan dari AbstractGoogleJsonClient. Contoh com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.

Class builder dari class layanan menggunakan 3 parameter:

Panggil juga metode setApplicationName() builder dengan aplikasi Anda nama. Tindakan ini akan menetapkan header UserAgent dengan nama aplikasi dan membantu untuk memecahkan masalah dengan log.

Kodenya terlihat seperti ini:

HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = GsonFactory.getDefaultInstance();
CloudResourceManager.Builder resourceManagerBuilder =
    new CloudResourceManager.Builder(
        transport, jsonFactory, new HttpCredentialsAdapter(credentials))
        .setApplicationName("Example Java App");
CloudResourceManager cloudResourceManager = resourceManagerBuilder.build();

Langkah 3: Buat Objek Resource

Class resource merepresentasikan jenis resource dikelola oleh layanan. Class didefinisikan sebagai class dalam dari class layanan. Anda dapat mengaksesnya menggunakan metode dalam kelas layanan.

Misalnya, Anda bisa mendapatkan notifikasi "Project" resource CloudResourceManager :

import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;

...

Projects projects = cloudResourceManager.projects();

Langkah 4: Buat Objek Permintaan

Operasi terhadap objek resource direpresentasikan sebagai class permintaan. Operasi yang tersedia bergantung pada class resource. Misalnya, resource yang menyediakan "create", "get", dan "delete" berisi "Create", "Get", dan "Delete" kelas permintaan.

Untuk contoh Cloud Resource Manager, Anda dapat membuat objek permintaan Get dengan memanggil metode projects.get:

Get get = projects.get("projects/your-project-id");

Langkah 5: Jalankan Permintaan

Objek permintaan memiliki metode execute() yang menjalankan permintaan. Panggilan ini mengeksekusi permintaan HTTP ke layanan Google dan melakukan deserialisasi JSON terhadap class model. Misalnya, metode execute() dari Get objek request menampilkan objek Project:

Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());

Ringkasan

Dengan langkah-langkah ini, Anda dapat membuat permintaan menggunakan Library Klien Google API untuk Java. Berikut adalah cuplikan kode yang menggabungkan semua langkah menggunakan Layanan pengelola.

package com.example;

import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
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 = GoogleNetHttpTransport.newTrustedTransport();
    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());
  }
}