Solicitações de API

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:

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());
  }
}