OAuth verwenden

Die Places API (New) unterstützt die Verwendung von OAuth 2.0 zur Authentifizierung. Google unterstützt gängige OAuth 2.0-Szenarien, z. B. für einen Webserver.

In diesem Dokument wird beschrieben, wie Sie ein OAuth-Token an den Aufruf der Places API (New) in Ihrer Entwicklungsumgebung übergeben. Eine Anleitung zur Verwendung von OAuth in einer Produktionsumgebung finden Sie unter Authentifizierung bei Google.

Hinweis

Um die Places API (New) verwenden zu können, benötigen Sie ein Projekt mit einem Rechnungskonto. Außerdem muss die Places API (New) aktiviert sein. Wir empfehlen, mehrere Project Owners und Billing Administrators einzurichten, damit immer jemand aus Ihrem Team die entsprechenden Aufgaben übernehmen kann. Weitere Informationen

Informationen zu OAuth

Es gibt je nach Ihrer Bereitstellungsumgebung viele Möglichkeiten, Zugriffstokens mit OAuth zu erstellen und zu verwalten.

Das OAuth 2.0-System von Google unterstützt beispielsweise Server-zu-Server-Interaktionen, z. B. zwischen Ihrer Anwendung und einem Google-Dienst. Für dieses Szenario benötigen Sie ein Dienstkonto. Das ist ein Konto, das Ihrer Anwendung und nicht einem bestimmten Endnutzer gehört. Ihre Anwendung ruft Google APIs im Namen des Dienstkontos auf, sodass Nutzer nicht direkt beteiligt sind. Weitere Informationen zu Authentifizierungsmethoden finden Sie unter Authentifizierung mit Google.

Alternativ können Sie die Places API (New) im Rahmen einer mobilen Android- oder iOS-App verwenden. Allgemeine Informationen zur Verwendung von OAuth mit der Places API (New) sowie Informationen zum Verwalten von Zugriffstokens für verschiedene Bereitstellungsumgebungen finden Sie unter OAuth 2.0 für den Zugriff auf Google APIs verwenden.

OAuth-Bereiche

Um OAuth mit der Places API (New) verwenden zu können, muss dem OAuth-Token der Bereich zugewiesen werden:

  • https://www.googleapis.com/auth/cloud-platform

Beispiel: REST API-Aufrufe in der lokalen Entwicklungsumgebung testen

Wenn Sie die Places API (New) mit einem OAuth-Token testen möchten, aber keine Umgebung zum Generieren von Tokens eingerichtet haben, können Sie der Anleitung in diesem Abschnitt folgen, um den Aufruf auszuführen.

In diesem Beispiel wird beschrieben, wie Sie das von den Standardanmeldedaten für Anwendungen bereitgestellte OAuth-Token für den Aufruf verwenden. Informationen zur Verwendung von ADC für den Aufruf von Google APIs mithilfe von Clientbibliotheken findest du unter Mit Clientbibliotheken authentifizieren.

Voraussetzungen

Bevor Sie eine REST-Anfrage mit ADC stellen können, müssen Sie über die Google Cloud CLI Anmeldedaten für ADC bereitstellen:

  1. Falls noch nicht geschehen, erstellen Sie ein Projekt und aktivieren Sie die Abrechnung. Folgen Sie dazu der Anleitung unter Google Cloud Console einrichten.
  2. Installieren und initialisieren Sie die gcloud CLI.
  3. Führen Sie den folgenden gcloud-Befehl auf Ihrem lokalen Computer aus, um die Datei mit den Anmeldedaten zu erstellen:

    gcloud auth application-default login
  4. Ein Anmeldebildschirm wird angezeigt. Nach der Anmeldung werden Ihre Anmeldedaten in der von ADC verwendeten lokalen Datei mit Anmeldedaten gespeichert.

Weitere Informationen finden Sie im Abschnitt Lokale Entwicklungsumgebung der Dokumentation Anmeldedaten für Standardanmeldedaten für Anwendungen angeben.

REST-Anfrage stellen

In diesem Beispiel übergeben Sie zwei Anfrageheader:

  • Übergeben Sie das OAuth-Token im Authorization-Header mit dem folgenden Befehl, um das Token zu generieren:

    gcloud auth application-default print-access-token

    Das zurückgegebene Token hat den Geltungsbereich https://www.googleapis.com/auth/cloud-platform.

  • Übergeben Sie im X-Goog-User-Project-Header die ID oder den Namen des Google Cloud-Projekts, für das die Abrechnung aktiviert ist. Weitere Informationen finden Sie unter Google Cloud-Projekt einrichten.

Im folgenden Beispiel wird die Places API (New) mithilfe eines OAuth-Tokens aufgerufen:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \
"https://places.googleapis.com/v1/places:searchText"

Fehlerbehebung

Wenn in Ihrer Anfrage eine Fehlermeldung darüber zurückgegeben wird, dass Endnutzeranmeldedaten von dieser API nicht unterstützt werden, finden Sie weitere Informationen unter Nutzeranmeldedaten funktionieren nicht.