Die Routes API unterstützt die Verwendung von OAuth 2.0 zur Authentifizierung. Google unterstützt gängige OAuth 2.0-Szenarien, z. B. Szenarien für Webserver.
In diesem Dokument wird beschrieben, wie Sie ein OAuth-Token an den Routes API-Aufruf in Ihrem Entwicklungsumgebung. Anweisungen zur Verwendung von OAuth finden Sie product-Umgebung haben, siehe Authentifizierung bei Google.
Hinweis
Bevor Sie die Routes API verwenden können, benötigen Sie eine Projekt mit einem Rechnungskonto und aktivierter Routes API Wir empfehlen, mehrere Projektinhaber und Abrechnungsadministratoren, damit immer jemand aus Ihrem Team die entsprechenden Aufgaben übernimmt die Ihrem Team zur Verfügung stehen. Weitere Informationen
Über OAuth
Es gibt viele Möglichkeiten, Zugriffstokens mit OAuth basierend auf Ihrer Bereitstellung zu erstellen und zu verwalten zu verbessern.
Das Google OAuth 2.0-System unterstützt beispielsweise Server-zu-Server-Interaktionen, wie etwa 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 Routes API als Teil einer mobilen Android- oder iOS-App verwenden. Allgemeine Informationen zur Verwendung von OAuth mit der Routes API, einschließlich Informationen zum Verwalten Zugriffstokens für verschiedene Bereitstellungsumgebungen finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen
OAuth-Bereiche
Damit Sie OAuth mit der Routes API verwenden können, muss dem OAuth-Token der folgende Bereich zugewiesen sein:
https://www.googleapis.com/auth/cloud-platform
Beispiel: REST API-Aufrufe in Ihrer lokalen Entwicklungsumgebung testen
Wenn Sie die Routes API mit einem OAuth-Token testen 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 das OAuth-Token verwendet wird, das von Standardanmeldedaten für Anwendungen (ADC) um den Anruf zu tätigen. Informationen zum Aufrufen von Google APIs mithilfe von ADC mithilfe von Clientbibliotheken finden Sie unter Über Clientbibliotheken authentifizieren
Vorbereitung
Bevor Sie mit ADC eine REST-Anfrage stellen können, müssen Sie die Google Cloud CLI verwenden um Anmeldedaten für ADC bereitzustellen:
- Erstellen Sie ein Projekt und aktivieren Sie die Abrechnung, falls Sie dies noch nicht getan haben. Führen Sie dazu die Schritte in der In der Google Cloud Console einrichten
- Installieren und initialisieren Sie die gcloud CLI.
Führen Sie den folgenden
gcloud
-Befehl auf Ihrem lokalen Computer aus, um die Datei mit Anmeldedaten:gcloud auth application-default login
- 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 Befehl: -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 die ID oder den Namen Ihres Google Cloud-Projekts, für das die Abrechnung aktiviert ist in der
X-Goog-User-Project
-Header. Weitere Informationen finden Sie unter In der Cloud Console einrichten
Im folgenden Beispiel wird die Routes API mit einem OAuth-Token aufgerufen:
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "travelMode": "DRIVE", }' \ -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: routes.duration,routes.distanceMeters" \ "https://routes.googleapis.com/directions/v2:computeRoutes"
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.