API 要求

設定專案,為您的服務宣告依附元件後 Google API Java 專用用戶端程式庫,請按照下列步驟提出要求。 本頁面的程式碼片段使用 Cloud Resource Manager API 第 3 版。

步驟 1:驗證

例項化 com.google.auth.oauth2.GoogleCredentials敬上 執行個體。Google Cloud 使用者可使用 GoogleCredentials.getApplicationDefault()敬上 來取得 應用程式預設憑證

GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();

如要進一步瞭解驗證,請參閱 Google 驗證程式庫 Java

步驟 2:將服務類別例項化

Google 服務有一或多個版本。服務類別代表版本 也是某項服務的子項類別 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:建立資源物件

資源類別代表資源的類型 透過 Cloud Run 類別會定義為服務類別的內部類別。您可以存取 來解決問題

舉例來說,您可以取得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() 方法。這場通話 對 Google 服務執行 HTTP 要求,並將 JSON 還原序列化 傳給模型類別的回應例如:GET 的 execute() 方法 要求物件會傳回 Project 物件:

Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());

摘要

透過這些步驟,您可以使用 Google API 用戶端程式庫,為 Java。以下程式碼片段結合了所有步驟,使用資源 管理員服務。

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