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