Une fois que vous avez configuré votre projet pour déclarer les dépendances de votre pour la bibliothèque cliente Java des API Google, procédez comme suit pour envoyer une requête. Les extraits de cette page utilisent la version 3 de l'API Cloud Resource Manager.
Étape 1: Authentification
Instancier
com.google.auth.oauth2.GoogleCredentials
Compute Engine. Pour les utilisateurs de Google Cloud, vous pouvez utiliser
GoogleCredentials.getApplicationDefault()
pour obtenir
Identifiants par défaut de l'application.
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
Pour en savoir plus sur l'authentification, consultez Bibliothèque Google Auth Java.
Étape 2: Instanciez la classe de service
Un service Google comporte une ou plusieurs versions. Une classe de service représente une version
d'un service. Il s'agit d'une classe enfant
AbstractGoogleJsonClient :
Par exemple, com.google.api.services.cloudresourcemanager.v3.CloudResourceManager
.
La classe de compilateur de la classe de service comporte trois paramètres:
com.google.api.client.http.HttpTransport
GoogleNetHttpTransport.newTrustedTransport()
et crée une instance de celui-ci.com.google.api.client.json.JsonFactory
GsonFactory.getDefaultInstance()
et crée une instance de celui-ci.com.google.api.client.http.HttpRequestInitializer
new HttpCredentialsAdapter(credentials)
donne une instance de celui-ci.
Appelez également la méthode setApplicationName()
du compilateur avec votre application.
son nom. Cela permet de définir l'en-tête UserAgent avec le nom de l'application, ce qui est utile
à des fins de dépannage à l'aide des journaux.
Le code se présente comme suit:
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();
Étape 3: Créez un objet de ressource
Une classe de ressource représente un type de ressource gérés par un service. La classe est définie en tant que classe interne de la classe de service. Vous pouvez y accéder à l'aide des méthodes de la classe de service.
Par exemple, vous pouvez obtenir la colonne "Projets" la ressource CloudResourceManager classe:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
Étape 4: Créez un objet de requête
Les opérations effectuées sur l'objet ressource sont représentées sous forme de classes de requête. Les opérations disponibles dépendent de la classe de ressource. Par exemple, une ressource qui fournit les méthodes "create", "get" et "delete" de données contiennent "Créer", "Obtenir" et "Supprimer" les classes de requête correspondantes.
Dans l'exemple de Cloud Resource Manager, l'objet de requête Get peut être généré
Appel de la méthode projects.get
:
Get get = projects.get("projects/your-project-id");
Étape 5: Exécuter la requête
Un objet de requête comporte la méthode execute()
qui exécute la requête. Cet appel
exécute une requête HTTP auprès du service Google et désérialise le fichier JSON
à une classe de modèle. Par exemple, la méthode execute()
de la fonction Get
renvoie un objet Project:
Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());
Résumé
Ces étapes vous permettent d'envoyer des requêtes à l'aide de la bibliothèque cliente des API Google pour Java. Voici l'extrait de code qui combine toutes les étapes à l'aide de la ressource Gestionnaire.
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());
}
}