設定專案,為您的服務宣告依附元件後 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 個參數:
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:建立資源物件
資源類別代表資源的類型 透過 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());
}
}