После того, как вы настроите свой проект и укажете зависимости для вашей клиентской библиотеки Google API для 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.HttpTransportnew com.google.api.client.http.javanet.NetHttpTransport()создает экземпляр этого объекта. -
com.google.api.client.json.JsonFactoryGsonFactory.getDefaultInstance()создает его экземпляр. -
com.google.api.client.http.HttpRequestInitializernew HttpCredentialsAdapter(credentials)предоставляет экземпляр этого адаптера.
Также вызовите метод setApplicationName() конструктора, указав имя вашего приложения. Это установит заголовок UserAgent с именем приложения и поможет в устранении неполадок с помощью логов.
Код выглядит следующим образом:
HttpTransport transport = new NetHttpTransport();
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», содержит классы запросов «Create», «Get» и «Delete» соответственно.
В примере с Cloud Resource Manager вы можете получить объект запроса, вызвав метод 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.http.javanet.NetHttpTransport;
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 = new NetHttpTransport();
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());
}
}