Sau khi thiết lập dự án để khai báo phần phụ thuộc cho Thư viện ứng dụng API của Google dành cho Java, hãy làm theo các bước sau để tạo yêu cầu. Các đoạn mã trong trang này sử dụng phiên bản 3 của Cloud Resource Manager API.
Bước 1: Xác thực
Tạo thực thể
com.google.auth.oauth2.GoogleCredentials
thực thể. Đối với người dùng Google Cloud, bạn có thể sử dụng
GoogleCredentials.getApplicationDefault()
để tải
Thông tin đăng nhập mặc định của ứng dụng.
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
Để biết thêm thông tin về việc xác thực, hãy tham khảo Thư viện xác thực của Google Java.
Bước 2: Tạo thực thể lớp dịch vụ
Mỗi dịch vụ của Google có một hoặc nhiều phiên bản. Lớp dịch vụ biểu thị một phiên bản
của một dịch vụ và là một lớp con của
AbstractGoogleJsonClient.
Ví dụ:
com.google.api.services.cloudresourcemanager.v3.CloudResourceManager
.
Lớp trình tạo của lớp dịch vụ nhận 3 tham số:
com.google.api.client.http.HttpTransport
.GoogleNetHttpTransport.newTrustedTransport()
sẽ tạo một bản sao của nó.com.google.api.client.json.JsonFactory
.GsonFactory.getDefaultInstance()
sẽ tạo một bản sao của nó.com.google.api.client.http.HttpRequestInitializer
.new HttpCredentialsAdapter(credentials)
sẽ cung cấp một thực thể của nó.
Ngoài ra, hãy gọi phương thức setApplicationName()
của trình tạo bằng ứng dụng của bạn
. Thao tác này sẽ đặt tiêu đề UserAgent bằng tên ứng dụng và hữu ích
để khắc phục sự cố bằng nhật ký.
Mã sẽ có dạng như sau:
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();
Bước 3: Tạo đối tượng tài nguyên
Lớp tài nguyên đại diện cho một loại tài nguyên do dịch vụ quản lý. Lớp này được định nghĩa là lớp bên trong của lớp dịch vụ. Bạn có thể truy cập vào bằng các phương thức trong lớp dịch vụ.
Ví dụ: bạn có thể lấy mã "Dự án" tài nguyên của CloudResourceManager lớp:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
Bước 4: Tạo đối tượng yêu cầu
Các thao tác đối với đối tượng tài nguyên được biểu thị dưới dạng lớp yêu cầu. Các thao tác có sẵn phụ thuộc vào lớp tài nguyên. Ví dụ: một tài nguyên lớp cung cấp tính năng "create", "get" và "delete" chứa "Tạo", "Lấy" và "Xoá" các lớp yêu cầu tương ứng.
Đối với ví dụ về Cloud Resource Manager, bạn có thể tạo đối tượng yêu cầu Get bằng cách
gọi phương thức projects.get
:
Get get = projects.get("projects/your-project-id");
Bước 5: Thực thi yêu cầu
Đối tượng yêu cầu có phương thức execute()
chạy yêu cầu. Cuộc gọi này
thực thi một yêu cầu HTTP đến dịch vụ của Google và giải tuần tự JSON
cho một lớp mô hình. Ví dụ: phương thức execute()
của Get
đối tượng yêu cầu trả về đối tượng Dự án:
Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());
Tóm tắt
Với những bước này, bạn có thể đưa ra yêu cầu bằng cách sử dụng Thư viện ứng dụng API của Google cho Java. Đây là đoạn mã kết hợp tất cả các bước sử dụng phần Tài nguyên Dịch vụ của người quản lý.
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());
}
}