Google Cloud und OAuth einrichten

Der Zugriff auf die Google Health API erfolgt über Google Cloud. Um die API zu aktivieren und ein Google-Konto zu autorisieren, benötigen Sie ein Google Cloud-Projekt.

Wenn 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 abzurufen:

  1. Wenn Sie ein vorhandenes Google Cloud-Projekt für die Google Health API verwenden 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 den Button geklickt haben. Erstellen Sie andernfalls ein neues Projekt.
  2. Wählen Sie Webserver aus, wenn Sie gefragt werden, woher Sie anrufen.
  3. Geben Sie https://www.google.com als Wert für Autorisierte Weiterleitungs-URIs ein. Eine Weiterleitungs-URI ist erforderlich, um einen Autorisierungscode mit OAuth 2.0 abzurufen.
  4. Kopieren Sie nach Abschluss der Einrichtung 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 die Google Health API auf der Seite API-Aktivierung.
  2. Rufen Sie auf der Seite Anmeldedaten eine OAuth 2.0-Client-ID ab.

Weitere Informationen zum Einrichten von OAuth 2.0 über die Google-Konsole finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen.

Testnutzer hinzufügen

Standardmäßig sind neu erstellte OAuth-Clients nicht überprüft und haben ein Limit von 100 Nutzern für Test- und Produktionszwecke. 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.

Aktualisieren Sie die Liste der Testnutzer auf der Seite Zielgruppe:

  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 zum Zugriff auf ihre Gesundheitsdaten erteilen dürfen.
  3. Klicken Sie auf Speichern.

Wenn Sie mehr als 100 Nutzer mit der Google Health API unterstützen möchten, müssen Sie eine Sicherheitsüberprüfung durch Dritte durchführen lassen. Weitere Informationen finden Sie in der OAuth-App-Überprüfung – Hilfe.

Bereiche hinzufügen

Sie müssen die Bereiche angeben, die Ihr Client auf der Seite Data Access (Datenzugriff) 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.

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 für Ihr Google APIs-Projekt gewährt wurden.

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

  1. Ermitteln Sie die vollständige Liste der Bereiche, die Ihre Anwendung benötigt. Das sollte sowohl die vorhandenen als auch alle neuen Bereiche umfassen, die Sie hinzufügen müssen.

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

  3. Hängen Sie prompt=consent an Ihre Authentifizierungs-URI-Parameter an. Dadurch wird der Autorisierungsserver gezwungen, den Nutzer um die Einwilligung zu bitten, bevor Informationen an Ihren Client zurückgegeben werden.

    Das folgende Beispiel zeigt 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 ihm eine Einwilligungsseite 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 beliebte Frameworks verwendet werden, finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen.

Aktualisierungstokens

Wenn Ihre Anwendung langfristig auf Google APIs zugreifen soll, ohne dass Nutzer sich ständig neu authentifizieren müssen, muss sie 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 ein Beispiel für eine Anfrage und eine 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
}

Token-Verhalten während des Tests

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

  • Testmodus:Wenn für Ihren OAuth-Zustimmungsbildschirm der Veröffentlichungsstatus „Test“ konfiguriert ist, sind die ausgegebenen Aktualisierungstokens zeitbasiert und laufen nach 7 Tagen ab. Während dieses Zeitraums erhalten Sie ein einzelnes Aktualisierungstoken, das bis zu seinem Ablaufdatum gültig ist und zum Abrufen neuer Zugriffstokens verwendet werden kann.
  • Veröffentlichter Modus:Wenn Ihre App den Status „Wird in der Produktion verwendet“ hat, laufen Aktualisierungstokens in der Regel nicht ab, es sei denn, sie werden widerrufen oder bleiben über einen längeren Zeitraum (in der Regel sechs Monate) ungenutzt.

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