คำขอ API

เมื่อคุณตั้งค่าโปรเจ็กต์ให้ประกาศทรัพยากร 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 รายการ ได้แก่

เรียกใช้เมธอด 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());
  }
}