Настроив проект для объявления зависимостей клиентской библиотеки API Google для Java, выполните следующие действия, чтобы сделать запрос. В фрагментах на этой странице используется версия 3 API Cloud Resource Manager.
Шаг 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
.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. Создайте объект ресурса
Класс ресурса представляет тип ресурса, управляемого службой. Класс определяется как внутренний класс класса обслуживания. Вы можете получить к ним доступ, используя методы класса обслуживания.
Например, вы можете получить ресурс «Проекты» класса CloudResourceManager:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
Шаг 4. Создайте объект запроса
Операции с объектом ресурса представлены как классы запросов. Доступные операции зависят от класса ресурса. Например, класс ресурсов, предоставляющий методы «создать», «получить» и «удалить», содержит классы запросов «Создать», «Получить» и «Удалить» соответственно.
В примере Cloud Resource Manager вы можете создать объект запроса Get, вызвав метод projects.get
:
Get get = projects.get("projects/your-project-id");
Шаг 5. Выполните запрос
Объект запроса имеет метод execute()
, который выполняет запрос. Этот вызов выполняет HTTP-запрос к службе Google и десериализует ответ JSON в класс модели. Например, метод execute()
объекта запроса Get возвращает объект Project:
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());
}
}