OAuth verwenden

Die Places Insights API 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 in Ihrer Entwicklungsumgebung ein OAuth-Token an den Places Insights API-Aufruf übergeben. Eine Anleitung zur Verwendung von OAuth in einer Produktionsumgebung finden Sie unter Authentifizierung bei Google.

Hinweis

Um die Places Insights API verwenden zu können, benötigen Sie ein Projekt mit einem Rechnungskonto. Außerdem muss die Places Insights API aktiviert sein. 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, das nicht zu einem einzelnen Endnutzer, sondern zu Ihrer Anwendung 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 bei Google.

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

OAuth-Bereiche

Wenn Sie OAuth mit der Places Insights API verwenden möchten, 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 Insights API mit einem OAuth-Token ausprobieren möchten, aber keine Umgebung zum Generieren von Tokens eingerichtet haben, können Sie den Aufruf mithilfe der Anleitung in diesem Abschnitt ausfü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 in der lokalen Anmeldedatendatei für ADC gespeichert.

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

REST-Anfrage stellen

In diesem Beispiel übergeben Sie zwei Anfrageheader:

  • Übergebe das OAuth-Token im Authorization-Header. Verwende dazu den 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 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 Google Cloud-Projekt einrichten.

Im folgenden Beispiel wird die Places Insights API mit einem OAuth-Token aufgerufen:

curl -X POST 'https://areainsights.googleapis.com/v1:computeInsights' \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \
-H "Authorization: Bearer $TOKEN" \
--data '{
   "insights":[
      "INSIGHT_COUNT"
   ],
   "filter":{
      "location_filter":{
         "region":{
            "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo"
         }
      },
      "type_filter":{
         "included_types":[
            "restaurant"
         ]
      },
      "price_levels":[
         "PRICE_LEVEL_INEXPENSIVE"
      ]
   }
}'

Fehlerbehebung

Wenn Ihre Anfrage eine Fehlermeldung zurückgibt, die angibt, dass Endnutzeranmeldedaten nicht von der API unterstützt werden, lesen Sie den Abschnitt Nutzeranmeldedaten funktionieren nicht.