Una vez que configures tu proyecto para declarar las dependencias de tu biblioteca cliente de las APIs de Google para Java, sigue estos pasos para realizar una solicitud. Los fragmentos de código de esta página usan la versión 3 de la API de Cloud Resource Manager.
Paso 1: Autenticación
Crea una instancia de com.google.auth.oauth2.GoogleCredentials. En el caso de los usuarios de Google Cloud, puedes usar GoogleCredentials.getApplicationDefault() para obtener las credenciales predeterminadas de la aplicación.
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
Para obtener más información sobre la autenticación, consulta la biblioteca de Google Auth para Java.
Paso 2: Instancia la clase de servicio
Un servicio de Google tiene una o más versiones. Una clase de servicio representa una versión de un servicio y es una clase secundaria de AbstractGoogleJsonClient.
Por ejemplo com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.
La clase de compilador de la clase de servicio toma 3 parámetros:
com.google.api.client.http.HttpTransport.new com.google.api.client.http.javanet.NetHttpTransport()crea una instancia de él.com.google.api.client.json.JsonFactory.GsonFactory.getDefaultInstance()crea una instancia de él.com.google.api.client.http.HttpRequestInitializer.new HttpCredentialsAdapter(credentials)proporciona una instancia de él.
También llama al método setApplicationName() del compilador con el nombre de tu aplicación. Esto establece el encabezado UserAgent con el nombre de la aplicación y es útil para solucionar problemas con los registros.
El código se ve así:
HttpTransport transport = new NetHttpTransport();
JsonFactory jsonFactory = GsonFactory.getDefaultInstance();
CloudResourceManager.Builder resourceManagerBuilder =
new CloudResourceManager.Builder(
transport, jsonFactory, new HttpCredentialsAdapter(credentials))
.setApplicationName("Example Java App");
CloudResourceManager cloudResourceManager = resourceManagerBuilder.build();
Paso 3: Crea un objeto Resource
Una clase de recurso representa un tipo de recurso administrado por un servicio. La clase se define como una clase interna de la clase de servicio. Puedes acceder a ellos con los métodos de la clase de servicio.
Por ejemplo, puedes obtener el recurso "Projects" de la clase CloudResourceManager:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
Paso 4: Crea un objeto de solicitud
Las operaciones en el objeto de recurso se representan como clases de solicitud. Las operaciones disponibles dependen de la clase de recurso. Por ejemplo, una clase de recursos que proporciona métodos "create", "get" y "delete" contiene clases de solicitudes "Create", "Get" y "Delete", respectivamente.
En el ejemplo de Cloud Resource Manager, puedes crear el objeto de solicitud Get llamando al método projects.get:
Get get = projects.get("projects/your-project-id");
Paso 5: Ejecuta la solicitud
Un objeto de solicitud tiene el método execute() que ejecuta la solicitud. Esta llamada ejecuta una solicitud HTTP al servicio de Google y deserializa la respuesta JSON en una clase de modelo. Por ejemplo, el método execute() del objeto de solicitud Get devuelve un objeto Project:
Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());
Resumen
Con estos pasos, puedes realizar solicitudes con la biblioteca cliente de las APIs de Google para Java. Este es el fragmento de código que combina todos los pasos con el servicio de Resource Manager.
package com.example;
import com.google.api.client.http.javanet.NetHttpTransport;
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 = new NetHttpTransport();
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());
}
}