Google Cloud und OAuth einrichten

Der Zugriff auf die Google Health API erfolgt über Google Cloud. Zum Aktivieren der API und Autorisieren eines Google-Kontos benötigen Sie ein Google Cloud-Projekt.

Unabhängig davon, ob Sie bereits Fitbit API-Entwickler sind oder die Google Health API zum ersten Mal verwenden, müssen Sie diesen Schritt ausführen, um Aufrufe an die API zu senden.

Projekt und OAuth-Client erstellen

Klicken Sie auf die Schaltfläche API aktivieren und OAuth 2.0-Client-ID abrufen , um die Google Health API zu aktivieren und eine OAuth 2.0-Client-ID zu erhalten:

  1. Wenn Sie ein vorhandenes Google Cloud-Projekt verwenden möchten, das Sie für die Google Health API nutzen möchten, müssen Sie sich zuerst im Administratorkonto für dieses Projekt anmelden. Wählen Sie dann das vorhandene Projekt aus der Liste der verfügbaren Projekte aus, nachdem Sie auf die Schaltfläche geklickt haben. Andernfalls erstellen Sie ein neues Projekt.
  2. Wählen Sie bei der Frage „Wo rufen Sie an?“ die Option Webserver aus.
  3. Geben Sie https://www.google.com als Wert für Autorisierte Weiterleitungs-URIs ein. Eine Weiterleitungs-URI ist erforderlich, um mit OAuth 2.0 einen Autorisierungscode zu erhalten.
  4. Nachdem die Einrichtung abgeschlossen ist, kopieren Sie die Werte für die OAuth 2.0-Client-ID und das Client-Secret und laden Sie die JSON-Datei mit den Anmeldedaten auf Ihren lokalen Computer herunter.
API aktivieren und OAuth 2.0-Client-ID abrufen

Wenn Sie Ihr Google Cloud-Projekt manuell einrichten oder die Einrichtung überprüfen und Ihre Anmeldedaten noch einmal abrufen möchten, gehen Sie so vor:

  1. Aktivieren Sie auf der Seite API-Aktivierung die Option Google Health API.
  2. Rufen Sie auf der Seite Anmeldedaten eine OAuth 2.0-Client-ID ab.

Weitere Informationen zum Einrichten von OAuth 2.0 mit der Google Console finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen.

Testnutzer hinzufügen

Standardmäßig befinden sich neu erstellte OAuth-Clients im Status „Nicht bestätigt“ und sind auf 100 Nutzer für Test- und Produktionszwecke beschränkt. Wenn Sie die Autorisierung in diesem Zeitraum aktivieren möchten, müssen Sie die E-Mail-Adresse jedes Nutzers manuell der Liste der Testnutzer in Ihrer Projektkonfiguration hinzufügen.

So aktualisieren Sie die Liste der Testnutzer auf der Zielgruppe Seite:

  1. Auf dieser Seite sollte der "Veröffentlichungsstatus" auf Testen und der "Nutzertyp" auf Extern festgelegt sein.
  2. Klicken Sie im Bereich „Testnutzer“ auf + Nutzer hinzufügen. Geben Sie die E-Mail-Adresse aller Testnutzer ein, die Ihrer App die Berechtigung erteilen sollen, auf ihre Gesundheitsdaten zuzugreifen.
  3. Klicken Sie auf Speichern.

Wenn Sie mehr als 100 Nutzer mit der Google Health API unterstützen möchten, ist eine Sicherheitsüberprüfung durch Dritte erforderlich. Weitere Informationen finden Sie in der OAuth App-Bestätigung.

Bereiche hinzufügen

Sie müssen auf der Seite Datenzugriff die Bereiche angeben, die Ihr Client aufrufen darf:

  1. Klicken Sie auf dieser Seite auf Bereiche hinzufügen oder entfernen.
  2. Suchen Sie in der Spalte „API“ nach „Google Health API“. Wählen Sie die Bereiche aus, die Sie für Ihre Anwendung benötigen.
  3. Nachdem Sie alle erforderlichen Bereiche ausgewählt haben, klicken Sie auf Aktualisieren , um zur Seite „Datenzugriff“ zurückzukehren.
  4. Klicken Sie auf Speichern.

Bevor Sie Ihre Bereiche auswählen, sollten Sie die Bereichsimplementierung prüfen.

Sie haben die Einrichtung Ihrer Client-ID abgeschlossen und sollten jetzt Aufrufe an die Google Health API senden können.

Bereiche aktualisieren

Sie können den Nutzer auffordern, Ihre App noch einmal zu autorisieren, indem Sie den Parameter „prompt“ in Ihrer Authentifizierungsanfrage auf „consent“ setzen. Wenn prompt=consent enthalten ist, wird der Zustimmungsbildschirm jedes Mal angezeigt, wenn Ihre App die Autorisierung von Zugriffsbereichen anfordert, auch wenn alle Bereiche zuvor Ihrem Google APIs-Projekt gewährt wurden.

So fügen Sie Bereiche mit dem Parameter prompt=consent hinzu oder ändern sie:

  1. Erstellen Sie eine vollständige Liste der Bereiche, die Ihre Anwendung benötigt. Dazu gehören sowohl die vorhandenen Bereiche als auch alle neuen Bereiche, die Sie hinzufügen müssen.

  2. Ändern Sie den Bereichsparameter in der Autorisierungs-URL, um die aktualisierte Liste der durch Leerzeichen getrennten Bereichswerte einzufügen.

  3. Fügen Sie prompt=consent zu Ihren Authentifizierungs-URI-Parametern hinzu. Dadurch wird der Autorisierungsserver gezwungen, den Nutzer um seine Zustimmung zu bitten, bevor er Informationen an Ihren Client zurückgibt.

    Im folgenden Beispiel sehen Sie eine HTTPS-GET-Anfrage an den OAuth 2.0-Autorisierungsendpunkt von Google, in der mehrere Bereiche mit angehängtem prompt=consent angefordert werden:

    https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=redirect-uri&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly%20https://www.googleapis.com/auth/googlehealth.sleep.readonly&prompt=consent
  4. Wenn der Nutzer dem aktualisierten Link folgt, wird eine Zustimmungsseite mit allen angeforderten Bereichen angezeigt. Sobald der Nutzer auf „Weiter“ oder „Zulassen“ klickt, erhalten Sie einen neuen Autorisierungscode, der gegen Tokens für alle Bereiche eingetauscht werden kann.

    Fügen Sie prompt=consent nur bei Bedarf ein, z. B. wenn Sie ein neues Aktualisierungstoken benötigen oder sich die angeforderten Bereiche geändert haben.

OAuth2-Clientbibliotheken

Eine Liste der verfügbaren OAuth2-Clientbibliotheken, die für die Integration in gängige Frameworks verwendet werden, finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen.

Aktualisierungstokens

Um den langfristigen Zugriff auf Google APIs aufrechtzuerhalten, ohne dass der Nutzer sich ständig neu authentifizieren muss, muss Ihre Anwendung ein Aktualisierungstoken verwenden. Ausführliche Implementierungsdetails, einschließlich der erforderlichen HTTP-Anfragen und Parameter, finden Sie in der Dokumentation zur Google Identity Platform.

Wenn Sie ein Aktualisierungstoken gegen ein Zugriffstoken eintauschen möchten, senden Sie einen HTTPS-POST-Aufruf an den Google OAuth 2.0-Tokenendpunkt. Das folgende Snippet zeigt eine Beispielanfrage und -antwort:

Anfrage

curl -L -X POST 'https://oauth2.googleapis.com/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'client_id=client-id&client_secret=client-secret&refresh_token=refresh-token&grant_type=refresh_token'

Antwort

{
  "access_token": "access-token",
  "expires_in": 3599,
  "scope": "scope-list",
  "token_type": "Bearer",
  "refresh_token": "refresh-token",
  "refresh_token_expires_in": 112154
}

Tokenverhalten während des Tests

Beachten Sie, wie sich Aktualisierungstokens je nach Veröffentlichungsstatus Ihres Google Cloud-Projekts verhalten:

  • Testmodus:Wenn Ihr OAuth-Zustimmungsbildschirm mit dem Veröffentlichungsstatus „Testen“ konfiguriert ist, sind die ausgegebenen Aktualisierungstokens zeitbasiert und laufen nach 7 Tagen ab. In diesem Zeitraum erhalten Sie ein einzelnes Aktualisierungstoken, das gültig bleibt und zum Abrufen neuer Zugriffstokens verwendet werden kann, bis es abläuft.
  • Veröffentlichter Modus:Sobald Ihre App den Status „In Produktion“ erreicht hat, laufen Aktualisierungstokens in der Regel nicht ab, es sei denn, sie werden widerrufen oder bleiben längere Zeit ungenutzt (in der Regel sechs Monate).

Damit die Nutzerfreundlichkeit nicht beeinträchtigt wird, sollten Sie Ihre Anwendung veröffentlichen, bevor sie in eine Produktionsumgebung verschoben wird, um zu vermeiden, dass Tokens Innerhalb von 7 Tagen ablaufen.

Produktübergreifender Kontoschutz (RISC API)

Aktivieren Sie die RISC API (Risk and Incident Sharing and Coordination), wenn Sie über Änderungen an Ereignistokens oder der Kontoverknüpfung benachrichtigt werden möchten, z. B. über getrennte Konten oder widerrufene Tokens. So können Sie gespeicherte Tokens bereinigen und den Verbindungsstatus der Benutzeroberfläche aktualisieren. Die Aktivierung der RISC API ist optional.

So aktivieren Sie die RISC API für Ihr Google Cloud-Projekt:

  1. Öffnen Sie in der Google Cloud Console die RISC API Seite. Achten Sie darauf, dass das Projekt ausgewählt ist, das Sie für die Google Health API verwenden.
  2. Lesen Sie die RISC-Nutzungsbedingungen und machen Sie sich mit den Anforderungen vertraut.
  3. Klicken Sie auf Aktivieren , wenn Sie mit den Nutzungsbedingungen einverstanden sind.

Nachdem Sie die API aktiviert haben, müssen Sie einen HTTPS-Endpunkt erstellen und registrieren, um die von Google gesendeten Ereignistokens zu empfangen und zu validieren.

Weitere Informationen zum produktübergreifenden Kontoschutz und zu RISC finden Sie unter Nutzerkonten mit produktübergreifendem Kontoschutz schützen.