เมื่อคุณตั้งค่าโปรเจ็กต์ให้ประกาศทรัพยากร Dependency สำหรับ ไลบรารีของไคลเอ็นต์ Google APIs สำหรับ Java ให้ทำตามขั้นตอนต่อไปนี้เพื่อส่งคำขอ ข้อมูลโค้ดในหน้านี้ใช้ v3 ของ Cloud Resource Manager API
ขั้นตอนที่ 1: การตรวจสอบสิทธิ์
สร้างอินสแตนซ์
com.google.auth.oauth2.GoogleCredentials
อินสแตนซ์ สำหรับผู้ใช้ Google Cloud คุณสามารถใช้
GoogleCredentials.getApplicationDefault()
เพื่อรับ
ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์ โปรดไปที่ Google Auth Library Java
ขั้นตอนที่ 2: สร้างอินสแตนซ์บริการคลาส
บริการของ Google มีอย่างน้อย 1 เวอร์ชัน คลาสบริการแสดงถึงเวอร์ชัน
บริการและเป็นคลาสย่อยของ
AbstractGoogleJsonClient
ตัวอย่างเช่น
com.google.api.services.cloudresourcemanager.v3.CloudResourceManager
คลาสเครื่องมือสร้างของคลาสบริการมีพารามิเตอร์ 3 รายการ ได้แก่
com.google.api.client.http.HttpTransport
GoogleNetHttpTransport.newTrustedTransport()
จะสร้างอินสแตนซ์ขึ้นมาcom.google.api.client.json.JsonFactory
GsonFactory.getDefaultInstance()
จะสร้างอินสแตนซ์ขึ้นมาcom.google.api.client.http.HttpRequestInitializer
new HttpCredentialsAdapter(credentials)
ยกตัวอย่าง
เรียกใช้เมธอด setApplicationName()
ของเครื่องมือสร้างด้วยแอปพลิเคชันของคุณ
ชื่อ การดำเนินการนี้จะกำหนดส่วนหัว UserAgent ด้วยชื่อแอปพลิเคชันและมีประโยชน์
เพื่อแก้ปัญหาเกี่ยวกับบันทึก
โค้ดมีลักษณะดังนี้
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();
ขั้นตอนที่ 3: สร้างออบเจ็กต์ทรัพยากร
คลาสทรัพยากรแสดงถึงประเภทของทรัพยากร จัดการโดยบริการ คลาสได้รับการระบุเป็นคลาสภายในของคลาสบริการ คุณสามารถเข้าไปดูได้ โดยใช้เมธอดในคลาสบริการ
เช่น คุณสามารถรับ "โปรเจ็กต์" ทรัพยากรของ CloudResourceManager ชั้นเรียน:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
ขั้นตอนที่ 4: สร้างออบเจ็กต์คำขอ
การดำเนินการกับออบเจ็กต์ทรัพยากรจะแสดงเป็นคลาสคำขอ การดำเนินการที่ใช้ได้จะขึ้นอยู่กับคลาสทรัพยากร เช่น ทรัพยากร คลาสที่ระบุข้อความ "create", "get" และ "delete" เมธอดมี "สร้าง" "ดาวน์โหลด" และ "ลบ" คำขอคลาสตามลำดับ
สำหรับตัวอย่างของ Cloud Resource Manager คุณสามารถสร้างออบเจ็กต์ "รับคำขอ" ได้โดย
กำลังเรียก projects.get
เมธอด:
Get get = projects.get("projects/your-project-id");
ขั้นตอนที่ 5: ดำเนินการตามคำขอ
ออบเจ็กต์คำขอมีเมธอด execute()
ที่เรียกใช้คำขอ การโทรนี้
ส่งคำขอ HTTP ไปยังบริการของ Google และดีซีเรียลไลซ์ JSON
การตอบกลับคลาสโมเดล ตัวอย่างเช่น เมธอด execute()
ของเมธอด Get
ออบเจ็กต์คำขอแสดงออบเจ็กต์ Project:
Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());
สรุป
ด้วยขั้นตอนเหล่านี้ คุณจะสามารถส่งคำขอโดยใช้ไลบรารีของไคลเอ็นต์ Google APIs สำหรับ Java นี่คือข้อมูลโค้ดซึ่งรวมขั้นตอนทั้งหมดโดยใช้ Resource บริการของผู้จัดการ
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());
}
}