设置项目以声明 使用 Java 版 Google API 客户端库,请按照以下步骤发出请求。 本页中的代码段使用 v3 版 Cloud Resource Manager API。
第 1 步:身份验证
实例化
com.google.auth.oauth2.GoogleCredentials
实例。对于 Google Cloud 用户,您可以使用
GoogleCredentials.getApplicationDefault()
以获取
应用默认凭据。
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
如需详细了解身份验证,请参阅 Google Auth 库 Java。
第 2 步:实例化服务类
一项 Google 服务有一个或多个版本。Service 类代表一个版本
是 Service 的子类,
AbstractGoogleJsonClient 实例。
例如 com.google.api.services.cloudresourcemanager.v3.CloudResourceManager
。
服务类的 builder 类接受 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 步:创建资源对象
资源类表示资源的类型 由服务管理 该类被定义为服务类的内部类。您可以访问它们 使用服务类中的方法。
例如,您可以获取“Projects”CloudResourceManager 的 类:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
第 4 步:发出请求对象
针对资源对象的操作表示为请求类。 可用的操作取决于资源类别。例如,一个资源 提供“create”“get”和“delete”的类方法包含 “创建”“获取”和“删除”请求类。
以 Cloud Resource Manager 为例,您可以通过以下命令创建 Get 请求对象:
调用 projects.get
方法:
Get get = projects.get("projects/your-project-id");
第 5 步:执行请求
请求对象具有运行请求的 execute()
方法。这场通话
对 Google 服务执行 HTTP 请求,并将 JSON 文件反序列化
模型类响应。例如,Get 的 execute()
方法
请求对象会返回一个项目对象:
Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());
摘要
通过以下步骤,您可以使用 Google API 客户端库 Java。以下代码段合并了使用 Resource Manager 服务。
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());
}
}