将项目设置为声明适用于 Java 的 Google API 客户端库的依赖项后,请按照以下步骤发出请求。 本页面中的代码段使用 Cloud Resource Manager API v3。
第 1 步:身份验证
实例化 com.google.auth.oauth2.GoogleCredentials 实例。对于 Google Cloud 用户,您可以使用 GoogleCredentials.getApplicationDefault() 获取应用默认凭据。
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
如需详细了解身份验证,请参阅 Google Auth Library Java。
第 2 步:实例化服务类
Google 服务具有一个或多个版本。服务类表示服务的某个版本,是 AbstractGoogleJsonClient 的子类。例如 com.google.api.services.cloudresourcemanager.v3.CloudResourceManager。
服务类的构建器类采用 3 个参数:
com.google.api.client.http.HttpTransport。new com.google.api.client.http.javanet.NetHttpTransport()会创建该类的实例。com.google.api.client.json.JsonFactory。GsonFactory.getDefaultInstance()会创建该类的实例。com.google.api.client.http.HttpRequestInitializer。new HttpCredentialsAdapter(credentials)会提供相应实例。
同时,使用您的应用名称调用构建器的 setApplicationName() 方法。此方法会使用应用名称设置 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 步:创建资源对象
资源类表示由服务管理的资源类型。该类定义为服务类的内部类。您可以使用服务类中的方法来访问它们。
例如,您可以获取 CloudResourceManager 类的“Projects”资源:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
第 4 步:创建请求对象
针对资源对象的操作以请求类的形式表示。可用的操作取决于资源类。例如,提供“create”“get”和“delete”方法的资源类分别包含“Create”“Get”和“Delete”请求类。
对于 Cloud Resource Manager 的示例,您可以通过调用 projects.get 方法来创建 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());
摘要
完成这些步骤后,您就可以使用适用于 Java 的 Google API 客户端库发出请求了。以下代码段结合了使用 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());
}
}