Permintaan API

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

GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();

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

Langkah 2: Buat Instance Class Layanan

Layanan Google memiliki satu atau beberapa versi. Class layanan merepresentasikan versi layanan dan merupakan class turunan dari 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 menetapkan header UserAgent dengan nama aplikasi dan berguna untuk memecahkan masalah dengan log.

Kodenya terlihat seperti:

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

Langkah 3: Buat Objek Resource

Class resource merepresentasikan jenis resource yang dikelola oleh layanan. Class ditentukan 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 ditampilkan sebagai class permintaan. Operasi yang tersedia bergantung pada class resource. Misalnya, class resource yang menyediakan metode "create", "get", dan "delete" masing-masing 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 mengeksekusi permintaan HTTP ke layanan Google dan mendeserialisasi respons JSON ke class model. Misalnya, metode execute() dari objek permintaan Get 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.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());
  }
}