OAuth verwenden

Die Solar API unterstützt die Verwendung von OAuth 2.0 für die 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 Solar API-Aufruf in Ihrem Entwicklungsumgebung. Anweisungen zur Verwendung von OAuth finden Sie product-Umgebung haben, siehe Authentifizierung bei Google.

Hinweis

Bevor Sie die Solar API verwenden können, benötigen Sie ein Projekt mit einem Rechnungskonto und aktivierter Solar 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 Solar API als Teil einer mobilen Android- oder iOS-App verwenden. Allgemeine Informationen zur Verwendung von OAuth mit der Solar 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 Solar API zu verwenden, muss dem OAuth-Token der Bereich zugewiesen werden:

  • https://www.googleapis.com/auth/cloud-platform

Beispiel: REST API-Aufrufe in Ihrer lokalen Entwicklungsumgebung testen

Wenn Sie die Solar 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.

  • Ü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 Solar API mit einem OAuth-Token aufgerufen:

curl -X GET \
-H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \
-H "Authorization: Bearer $TOKEN" \
"https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.4450&location.longitude=-122.1390&radius_meters=100&required_quality=HIGH"

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.