Nachdem Sie das Projekt eingerichtet haben, um die Abhängigkeiten zu deklarieren, Google APIs-Clientbibliothek für Java verwenden möchten, führen Sie die folgenden Schritte aus, um eine Anfrage zu stellen. Die Snippets auf dieser Seite verwenden Version 3 der Cloud Resource Manager API.
Schritt 1: Authentifizierung
Instanziieren
com.google.auth.oauth2.GoogleCredentials
Instanz. Google Cloud-Nutzer können Folgendes verwenden:
GoogleCredentials.getApplicationDefault()
um die
Standardanmeldedaten für Anwendungen.
GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
Weitere Informationen zur Authentifizierung finden Sie unter Google Auth Library Java
Schritt 2: Dienstklasse instanziieren
Ein Google-Dienst hat mindestens eine Version. Eine Dienstklasse stellt eine Version dar.
eines Dienstes und ist eine untergeordnete Klasse von
AbstractGoogleJsonClient:
Beispiel: com.google.api.services.cloudresourcemanager.v3.CloudResourceManager
.
Die Builder-Klasse der Dienstklasse benötigt drei Parameter:
com.google.api.client.http.HttpTransport
GoogleNetHttpTransport.newTrustedTransport()
erstellt eine Instanz davon.com.google.api.client.json.JsonFactory
GsonFactory.getDefaultInstance()
erstellt eine Instanz davon.com.google.api.client.http.HttpRequestInitializer
new HttpCredentialsAdapter(credentials)
gibt eine Instanz davon.
Rufen Sie auch die Methode setApplicationName()
des Builders mit Ihrer Anwendung auf.
Namen. Dadurch wird der User-Agent-Header auf den Anwendungsnamen gesetzt. Dies ist hilfreich,
zur Fehlerbehebung mit Protokollen.
Der Code sieht so aus:
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();
Schritt 3: Ressourcenobjekt erstellen
Eine Ressourcenklasse stellt einen Typ der Ressource dar. die von einem Dienst verwaltet werden. Die Klasse ist als innere Klasse der Dienstklasse definiert. Du kannst auf sie zugreifen mithilfe der Methoden in der Dienstklasse.
Sie können beispielsweise die Spalte „Projekte“ abrufen CloudResourceManager-Ressource Klasse:
import com.google.api.services.cloudresourcemanager.v3.CloudResourceManager.Projects;
...
Projects projects = cloudResourceManager.projects();
Schritt 4: Anfrageobjekt erstellen
Die Vorgänge für das Ressourcenobjekt werden als Anfrageklassen dargestellt. Die verfügbaren Vorgänge hängen von der Ressourcenklasse ab. Beispiel: Eine Ressource Klasse, die "create", "get" und "delete" enthält Methoden enthalten „Erstellen“, „Abrufen“ und „Löschen“ -Anforderungsklassen.
Für das Beispiel von Cloud Resource Manager können Sie das Anfrageobjekt für den Abruf folgendermaßen erstellen:
durch Aufrufen der Methode projects.get
:
Get get = projects.get("projects/your-project-id");
Schritt 5: Anfrage ausführen
Ein Anfrageobjekt hat die Methode execute()
, mit der die Anfrage ausgeführt wird. Dieser Anruf
eine HTTP-Anfrage an den Google-Dienst ausführt und die JSON-Datei deserialisiert.
auf eine Modellklasse. Die execute()
-Methode des Get-Objekts
Das Anfrageobjekt gibt ein Projektobjekt zurück:
Project project = get.execute();
System.out.println("Project name: " + project.getDisplayName());
Zusammenfassung
Mit diesen Schritten können Sie Anfragen über die Google APIs-Client-Bibliothek für Java Hier ist das Code-Snippet, das alle Schritte unter Verwendung der Ressource Manager-Dienst.
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());
}
}