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:
com.google.api.client.http.HttpTransport
.GoogleNetHttpTransport.newTrustedTransport()
membuat instance-nya.com.google.api.client.json.JsonFactory
.GsonFactory.getDefaultInstance()
membuat instance-nya.com.google.api.client.http.HttpRequestInitializer
.new HttpCredentialsAdapter(credentials)
memberikan instance.
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());
}
}