Depois de configurar seu projeto para declarar as dependências para sua da biblioteca cliente de APIs do Google para Java, siga estas etapas para fazer uma solicitação. Os snippets nesta página usam a v3 da API Cloud Resource Manager.
Etapa 1: autenticação
Instanciar
com.google.auth.oauth2.GoogleCredentials
instância. Para usuários do Google Cloud, é possível usar
GoogleCredentials.getApplicationDefault()
para conseguir
Application Default Credentials.
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
Para mais informações sobre autenticação, acesse Biblioteca do Google Auth para Java.
Etapa 2: instanciar a classe de serviço
Um serviço do Google tem uma ou mais versões. Uma classe de serviço representa uma versão
de um serviço e é uma classe filha do
AbstractGoogleJsonClient (ambos os links em inglês).
Por exemplo: com.google.api.services.cloudresourcemanager.v3.CloudResourceManager
.
A classe de builder da classe de serviço usa três parâmetros:
com.google.api.client.http.HttpTransport
GoogleNetHttpTransport.newTrustedTransport()
cria uma instância dele.com.google.api.client.json.JsonFactory
GsonFactory.getDefaultInstance()
cria uma instância dele.com.google.api.client.http.HttpRequestInitializer
new HttpCredentialsAdapter(credentials)
uma instância dele.
Chame também o método setApplicationName()
do builder com seu aplicativo
nome. Isso define o cabeçalho UserAgent com o nome do aplicativo e é útil
para solucionar problemas com registros.
O código vai ficar assim:
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();
Etapa 3: criar um objeto de recurso
Uma classe de recurso representa um tipo do recurso. gerenciados por um serviço. A classe é definida como interna da classe de serviço. Você pode acessá-las usando os métodos na classe de serviço.
Por exemplo, a seção "Projetos" recurso do CloudResourceManager classe:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
Etapa 4: criar um objeto de solicitação
As operações no objeto "resource" são representadas como classes de solicitação. As operações disponíveis dependem da classe do recurso. Por exemplo, um recurso que fornece "create", "get" e "delete" métodos contêm "Create", "Get" e "Delete" respectivamente.
Para o exemplo do Cloud Resource Manager, é possível fazer o objeto da solicitação GET
chamando o método projects.get
:
Get get = projects.get("projects/your-project-id");
Etapa 5: executar a solicitação
Um objeto de solicitação tem o método execute()
, que executa a solicitação. Esta chamada
executa uma solicitação HTTP para o serviço do Google e desserializa o JSON
resposta a uma classe de modelo. Por exemplo, o método execute()
do objeto Get
de solicitação retorna um objeto Project:
Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());
Resumo
Com essas etapas, você pode fazer solicitações usando a Biblioteca cliente de APIs do Google para: Java. Este é o snippet de código que combina todas as etapas usando o módulo 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());
}
}