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());
}
}
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003eThis guide provides a step-by-step approach to making requests to Google APIs using the Google APIs Client Library for Java, covering authentication, service instantiation, resource object creation, request object creation, and request execution.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers will learn how to authenticate using GoogleCredentials, instantiate service classes to interact with specific Google APIs, and create resource objects to access specific API resources.\u003c/p\u003e\n"],["\u003cp\u003eYou'll be able to utilize request objects to perform operations on resources, with a working example demonstrating the process using the Cloud Resource Manager service to retrieve project details.\u003c/p\u003e\n"],["\u003cp\u003eThe provided code examples allow developers to easily adapt the steps for their own applications and make API requests efficiently.\u003c/p\u003e\n"]]],[],null,["# API Requests\n\nOnce you set up your project to [declare the dependencies](/api-client-library/java/google-api-java-client/setup) for your\nGoogle APIs Client Library for Java, follow these steps to make a request.\nThe snippets in this page uses v3 of the Cloud Resource Manager API.\n\nStep 1: Authentication\n----------------------\n\nInstantiate\n[`com.google.auth.oauth2.GoogleCredentials`](https://cloud.google.com/java/docs/reference/google-auth-library/latest/com.google.auth.oauth2.GoogleCredentials)\ninstance. For Google Cloud users, you may use\n[`GoogleCredentials.getApplicationDefault()`](https://cloud.google.com/java/docs/reference/google-auth-library/latest/com.google.auth.oauth2.GoogleCredentials#com_google_auth_oauth2_GoogleCredentials_getApplicationDefault__)\nto get the\n[Application Default Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc). \n\n GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();\n\nFor more information on authentication, refer to\n[Google Auth Library Java](https://github.com/googleapis/google-auth-library-java?tab=readme-ov-file#using-credentials-with-google-http-client).\n\nStep 2: Instantiate Service Class\n---------------------------------\n\nA Google service has one or more versions. A service class represents a version\nof a service and is a child class of\n[AbstractGoogleJsonClient](https://cloud.google.com/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.services.json.AbstractGoogleJsonClient).\nFor example\n`com.google.api.services.cloudresourcemanager.v3.CloudResourceManager`.\n\nThe builder class of the service class takes 3 parameters:\n\n- [`com.google.api.client.http.HttpTransport`](https://cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.http.HttpTransport). [`GoogleNetHttpTransport.newTrustedTransport()`](https://cloud.google.com/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.javanet.GoogleNetHttpTransport#com_google_api_client_googleapis_javanet_GoogleNetHttpTransport_newTrustedTransport__) creates an instance of it.\n- [`com.google.api.client.json.JsonFactory`](https://cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.JsonFactory). [`GsonFactory.getDefaultInstance()`](https://cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.json.gson.GsonFactory#com_google_api_client_json_gson_GsonFactory_getDefaultInstance__) creates an instance of it.\n- [`com.google.api.client.http.HttpRequestInitializer`](https://cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.http.HttpRequestInitializer). [`new HttpCredentialsAdapter(credentials)`](https://cloud.google.com/java/docs/reference/google-auth-library/latest/com.google.auth.http.HttpCredentialsAdapter) gives an instance of it.\n\nAlso call `setApplicationName()` method of the builder with your application\nname. This sets the UserAgent header with the application name and is helpful\nfor troubleshooting with logs.\n\nThe code looks like: \n\n HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();\n JsonFactory jsonFactory = GsonFactory.getDefaultInstance();\n CloudResourceManager.Builder resourceManagerBuilder =\n new CloudResourceManager.Builder(\n transport, jsonFactory, new HttpCredentialsAdapter(credentials))\n .setApplicationName(\"Example Java App\");\n CloudResourceManager cloudResourceManager = resourceManagerBuilder.build();\n\nStep 3: Create a Resource Object\n--------------------------------\n\nA resource class represents a type of [the resource](https://cloud.google.com/apis/design/resources)\nmanaged by a service.\nThe class is defined as an inner class of the service class. You can access them\nusing the methods in the service class.\n\nFor example, you can get the \"Projects\" resource of the CloudResourceManager\nclass: \n\n import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;\n\n ...\n\n Projects projects = cloudResourceManager.projects();\n\nStep 4: Make a Request Object\n-----------------------------\n\nThe operations against the resource object are represented as request classes.\nThe available operations depend on the resource class. For example, a resource\nclass that provides \"create\", \"get\", and \"delete\" methods contain\n\"Create\", \"Get\", and \"Delete\" request classes respectively.\n\nFor Cloud Resource Manager's example, you can make the Get request object by\ncalling `projects.get` method: \n\n Get get = projects.get(\"projects/your-project-id\");\n\nStep 5: Execute the Request\n---------------------------\n\nA request object has the `execute()` method that runs the request. This call\nexecutes an HTTP request to the Google service and deserializes the JSON\nresponse to a model class. For example, the `execute()` method of the Get\nrequest object returns a Project object: \n\n Project project = get.execute();\n System.out.println(\"Project name: \" + project.getDisplayName());\n\nSummary\n-------\n\nWith these steps, you can make requests using Google APIs Client Library for\nJava. Here is the code snippet that combines all the steps using the Resource\nManager service. \n\n package com.example;\n\n import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;\n import com.google.api.client.http.HttpTransport;\n import com.google.api.client.json.JsonFactory;\n import com.google.api.client.json.gson.GsonFactory;\n import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager;\n import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;\n import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects.Get;\n import com.google.api.services.cloudresourcemanager.v3.model.Project;\n import com.google.auth.http.HttpCredentialsAdapter;\n import com.google.auth.oauth2.GoogleCredentials;\n\n public class ResourceManagerSample {\n public static void main(String[] arguments) throws Exception {\n GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();\n\n HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();\n JsonFactory jsonFactory = GsonFactory.getDefaultInstance();\n CloudResourceManager.Builder resourceManagerBuilder =\n new CloudResourceManager.Builder(\n transport, jsonFactory, new HttpCredentialsAdapter(credentials))\n .setApplicationName(\"Example Java App\");\n CloudResourceManager cloudResourceManager = resourceManagerBuilder.build();\n\n Projects projects = cloudResourceManager.projects();\n\n Get get = projects.get(\"projects/your-project-id\");\n\n Project project = get.execute();\n System.out.println(\"Project display name: \" + project.getDisplayName());\n }\n }"]]