Richieste API

Una volta configurato il progetto per dichiarare le dipendenze per effettuare una richiesta, segui questi passaggi per la libreria client delle API di Google per Java. Gli snippet in questa pagina utilizzano la versione 3 dell'API Cloud Resource Manager.

Passaggio 1: autenticazione

Crea un'istanza com.google.auth.oauth2.GoogleCredentials in esecuzione in un'istanza Compute Engine. Per gli utenti di Google Cloud, puoi utilizzare GoogleCredentials.getApplicationDefault() per ottenere Credenziali predefinite dell'applicazione.

GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();

Per ulteriori informazioni sull'autenticazione, consulta Libreria di autenticazione Google Java.

Passaggio 2: crea un'istanza per la classe di servizio

Un servizio Google ha una o più versioni. Una classe di servizio rappresenta una versione di un servizio ed è una classe secondaria AbstractGoogleJsonClient. Ad esempio: com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.

La classe del builder della classe di servizio accetta tre parametri:

Chiama anche il metodo setApplicationName() del builder con la tua applicazione nome. Consente di impostare l'intestazione UserAgent con il nome dell'applicazione ed è utile per la risoluzione dei problemi con i log.

Il codice ha il seguente aspetto:

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

Passaggio 3: crea un oggetto risorsa

Una classe di risorsa rappresenta un tipo di risorsa. gestite da un servizio. La classe è definita come una classe interna della classe di servizio. Puoi accedervi utilizzando i metodi della classe di servizio.

Ad esempio, puoi ottenere la colonna "Progetti" risorsa di CloudResourceManager classe:

import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;

...

Projects projects = cloudResourceManager.projects();

Passaggio 4: invia un oggetto di richiesta

Le operazioni sull'oggetto risorsa sono rappresentate come classi di richiesta. Le operazioni disponibili dipendono dalla classe della risorsa. Ad esempio, una risorsa che fornisce "create", "get" ed "delete" contengono "Crea", "Scarica" ed "Elimina" le classi di richiesta.

Per l'esempio di Cloud Resource Manager, puoi fare in modo che l'oggetto di richiesta Get chiamata al metodo projects.get:

Get get = projects.get("projects/your-project-id");

Passaggio 5: esegui la richiesta

Un oggetto richiesta ha il metodo execute() che esegue la richiesta. Questa chiamata esegue una richiesta HTTP al servizio Google e deserializza il file JSON una risposta a una classe di modello. Ad esempio, il metodo execute() del metodo request oggetto restituisce un oggetto Project:

Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());

Riepilogo

Con questi passaggi, puoi effettuare richieste utilizzando la libreria client delle API di Google per Java. Questo è lo snippet di codice che combina tutti i passaggi utilizzando lo strumento Servizio di gestore.

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