API 请求

设置项目以声明 使用 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 个参数:

此外,通过您的应用调用构建器的 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());
  }
}