OAuth verwenden

Die Route Optimization 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 Aufruf der Route Optimization API in Ihrem Entwicklungsumgebung. Anweisungen zur Verwendung von OAuth finden Sie product-Umgebung haben, siehe Authentifizierung bei Google.

Hinweis

Bevor Sie die Route Optimization API verwenden können, benötigen Sie eine Projekt mit einem Rechnungskonto und der aktivierten Route Optimization API. Wir empfehlen, mehrere Projektinhaber und Abrechnungsadministratoren, damit immer jemand aus Ihrem Team die entsprechenden Aufgaben 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 Route Optimization API als Teil einer mobilen Android- oder iOS-App verwenden. Allgemeine Informationen zur Verwendung von OAuth mit der Route Optimization API, einschließlich Informationen zum Verwalten Zugriffstokens für verschiedene Bereitstellungsumgebungen finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen

OAuth-Bereiche

Um OAuth mit der Route Optimization API zu verwenden, 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 Route Optimization 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:

  1. 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
  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 Anmeldedaten:

    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 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.

  • Geben Sie als Inhaltstyp des Anfragetexts den Inhaltstyp application/json an.

Im folgenden Beispiel wird mit einem OAuth-Token ein Aufruf an die Route Optimization API ausgeführt:

curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
--data-binary @- << EOM
{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.73881799999999,
              "longitude": -122.4161
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.79581,
              "longitude": -122.4218856
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "endLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        }
      }
    ],
    "globalStartTime": "2023-01-13T16:00:00-08:00",
    "globalEndTime": "2023-01-14T16:00:00-08:00"
  }
}
EOM

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.