Requêtes API

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:

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