OAuth verwenden

Die Roads Selection API verwendet die Roads Selection API als Kernkomponente, die Straßendaten für BigQuery und Pub/Sub bereitstellt.

Die Roads Selection 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 einen Webserver.

In diesem Dokument wird beschrieben, wie Sie in Ihrer Entwicklungsumgebung ein OAuth-Token an den Roads Selection API-Aufruf übergeben. Weitere Informationen zur Verwendung von OAuth in einer Produktionsumgebung finden Sie unter Authentifizierung bei Google.

Hinweis

Bevor Sie die Roads Selection API verwenden können, benötigen Sie ein Projekt mit einem Rechnungskonto. Außerdem muss die Roads Selection API aktiviert sein. Weitere Informationen finden Sie unter In der Cloud Console einrichten.

Informationen zu OAuth

Je nach Bereitstellungsumgebung können Sie Zugriffstokens mit OAuth auf verschiedene Arten erstellen und verwalten.

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

Alternativ können Sie die Roads Selection API als Teil einer Android- oder iOS-App verwenden. Weitere Informationen zur Verwendung von OAuth mit der Roads Selection API, einschließlich Informationen zur Verwaltung von Zugriffstokens für verschiedene Bereitstellungsumgebungen, finden Sie unter OAuth 2.0 für den Zugriff auf Google APIs verwenden.

Informationen zu OAuth-Bereichen

Wenn Sie OAuth mit der Roads Selection API verwenden möchten, muss das OAuth-Token den Bereich https://www.googleapis.com/auth/cloud-platform haben.

Beispiel: REST API-Aufrufe in Ihrer lokalen Entwicklungsumgebung testen

Wenn Sie die Roads Selection API mit einem OAuth-Token ausprobieren möchten, aber keine Umgebung zum Generieren von Tokens eingerichtet haben, folgen Sie der Anleitung in diesem Abschnitt, um die Anfrage zu stellen.

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

Vorbereitung

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

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

    gcloud auth application-default login
  4. Melden Sie sich an, wenn Sie dazu aufgefordert werden. 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:

  • Übergeben Sie das OAuth-Token im Authorization-Header. Verwenden Sie dazu den folgenden Befehl, um das Token zu generieren:

    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 im Header X-Goog-User-Project aktiviert ist. Weitere Informationen finden Sie unter Einrichtung in der Cloud Console.

Rufen Sie die Roads Selection API mit einem OAuth-Token auf:

curl -X GET \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID

Fehlerbehebung

Wenn Ihre Anfrage eine Fehlermeldung zurückgibt, die angibt, dass Endnutzeranmeldedaten nicht von der API unterstützt werden, finden Sie weitere Informationen unter Nutzeranmeldedaten funktionieren nicht.