프로젝트의 종속 항목을 선언하도록 프로젝트를 설정했으면 Java용 Google API 클라이언트 라이브러리에서 사용하려면 다음 단계를 따르세요. 이 페이지의 스니펫은 Cloud Resource Manager API v3를 사용합니다.
1단계: 인증
인스턴스화
com.google.auth.oauth2.GoogleCredentials
드림
인스턴스를 만들 수 있습니다 Google Cloud 사용자의 경우
GoogleCredentials.getApplicationDefault()
드림
다음을 얻으세요.
애플리케이션 기본 사용자 인증 정보.
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
인증에 대한 자세한 내용은 다음을 참조하세요. Google 인증 라이브러리 자바.
2단계: 서비스 클래스 인스턴스화
Google 서비스에는 하나 이상의 버전이 있습니다. 서비스 클래스는 포드의
서비스의 하위 클래스로서
AbstractGoogleJsonClient를 사용합니다.
예를 들면 com.google.api.services.cloudresourcemanager.v3.CloudResourceManager
입니다.
서비스 클래스의 빌더 클래스는 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단계: 리소스 개체 만들기
리소스 클래스는 리소스의 유형을 나타냅니다. kube-apiserver와 통신하는 역할을 합니다 이 클래스는 서비스 클래스의 내부 클래스로 정의됩니다. 사용자는 이러한 항목에 액세스할 수 있습니다. 서비스 클래스의 메서드 사용
예를 들어, '프로젝트' CloudResourceManager의 리소스 클래스:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
4단계: 요청 객체 만들기
리소스 객체에 대한 작업은 요청 클래스로 표현됩니다. 사용 가능한 작업은 리소스 클래스에 따라 다릅니다. 예를 들어 'create', 'get', 'delete'를 제공하는 클래스 메서드에는 'Create', 'Get', 'Delete' 요청 클래스를 제공합니다.
Cloud Resource Manager의 경우 다음과 같이 get 요청 객체를 만들 수 있습니다.
projects.get
메서드를 호출합니다.
Get get = projects.get("projects/your-project-id");
5단계: 요청 실행
요청 객체에는 요청을 실행하는 execute()
메서드가 있습니다. 이 통화는
Google 서비스에 대한 HTTP 요청을 실행하고 JSON을 역직렬화함
모델 클래스에 대한 응답입니다. 예를 들어 Get 클래스의 execute()
메서드는
request 객체는 Project 객체를 반환합니다.
Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());
요약
이 단계를 통해 Google API 클라이언트 라이브러리를 사용하여 Java 다음은 Resource 클래스로 모든 단계를 결합하는 코드 스니펫입니다. 관리자 서비스입니다
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());
}
}