Permintaan API

Setelah menyiapkan project guna mendeklarasikan dependensi bagi 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. Untuk pengguna Google Cloud, Anda dapat menggunakan GoogleCredentials.getApplicationDefault() untuk mendapatkan Kredensial Default Aplikasi.

GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();

Untuk mengetahui informasi lebih lanjut tentang autentikasi, lihat Library Google Auth Java.

Langkah 2: Buat Instance Class Layanan

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

Class builder class layanan menggunakan 3 parameter:

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

Kodenya akan terlihat seperti ini:

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

Langkah 3: Buat Objek Resource

Class resource mewakili jenis resource yang dikelola oleh layanan. Class ditetapkan sebagai class dalam dari class layanan. Anda dapat mengaksesnya menggunakan metode di class layanan.

Misalnya, Anda bisa mendapatkan resource "Projects" dari class 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, class resource yang menyediakan metode "create", "get", dan "delete" berisi class permintaan "Create", "Get", dan "Delete".

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 akan mengeksekusi permintaan HTTP ke layanan Google dan melakukan deserialisasi respons JSON ke class model. Misalnya, metode execute() dari objek permintaan Get akan 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 Resource Manager.

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