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:
com.google.api.client.http.HttpTransport
GoogleNetHttpTransport.newTrustedTransport()
ne crea un'istanza.com.google.api.client.json.JsonFactory
GsonFactory.getDefaultInstance()
ne crea un'istanza.com.google.api.client.http.HttpRequestInitializer
new HttpCredentialsAdapter(credentials)
ne esprima un'istanza.
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());
}
}