OAuth verwenden

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

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

Vorbereitung

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

OAuth

Je nach Bereitstellungsumgebung gibt es viele Möglichkeiten, Zugriffstokens mit OAuth zu erstellen und zu verwalten.

Das Google OAuth 2.0-System 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, ist ein Konto, das Ihrer Anwendung und nicht einem einzelnen Endnutzer gehört. Ihr -Anwendung im Namen des Dienstkontos Google APIs aufruft, sodass Nutzer nicht direkt beteiligt sind. Weitere Informationen zu Authentifizierungsmethoden finden Sie unter Authentifizierung bei Google.

Alternativ können Sie die Places API (New) auch in einer Android- oder iOS-App verwenden. Allgemeine Informationen zur Verwendung von OAuth mit der Places API (New), einschließlich Informationen zum Verwalten von Zugriffstokens für verschiedene Bereitstellungsumgebungen, finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen.

OAuth-Bereiche

Um OAuth mit der Places API (New) zu verwenden, muss dem OAuth-Token der folgende 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 ausprobieren möchten, aber keine Umgebung haben Einrichtung zum Generieren von Tokens eingerichtet haben, können Sie mit dem Verfahren in diesem Abschnitt den Aufruf durchführen.

In diesem Beispiel wird beschrieben, wie Sie den Aufruf mit dem OAuth-Token ausführen, das von Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) bereitgestellt wird. Informationen zur Verwendung von ADC zum Aufrufen von Google APIs mithilfe von Clientbibliotheken finden Sie unter Mit Clientbibliotheken authentifizieren.

Vorbereitung

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

  1. Erstellen Sie ein Projekt und aktivieren Sie die Abrechnung, falls Sie dies noch nicht getan haben. Folgen Sie dazu der Anleitung unter In der 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 im lokale Anmeldedatendatei, die von ADC verwendet wird

Weitere Informationen finden Sie unter Lokale Entwicklungsumgebung des Abschnitts Anmeldedaten für Standardanmeldedaten für Anwendungen angeben Dokumentation.

REST-Anfrage stellen

In diesem Beispiel werden zwei Anfrageheader übergeben:

  • Übergeben Sie das OAuth-Token im Authorization-Header mit dem folgenden Code: -Befehl zum Generieren des Tokens:

    gcloud auth application-default print-access-token

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

  • Übergeben Sie in der Kopfzeile X-Goog-User-Project die ID oder den Namen Ihres Google Cloud-Projekts, für das die Abrechnung aktiviert ist. Weitere Informationen finden Sie unter In der Cloud Console einrichten

Im folgenden Beispiel wird mit einem OAuth-Token die Places API (New) 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 zurückgegeben wird, dass Anmeldedaten von Endnutzern von dieser API nicht unterstützt werden, gehen Sie so vor: Siehe Nutzeranmeldedaten funktionieren nicht.