Im Abschnitt „API-Spezifikation“ finden Sie eine detaillierte Übersicht über die technischen Komponenten, die für die Integration in die Plattform erforderlich sind, einschließlich Autorisierungsbereiche, Datentypdefinitionen und Endpunktstrukturen. Diese API stellt eine strategische Weiterentwicklung der bisherigen Fitbit Web API dar. Sie wurde auf einer modernen Infrastruktur neu aufgebaut, um eine stabilere und konsistentere Entwicklererfahrung zu gewährleisten.
Bereiche
Sie müssen Ihre Autorisierungsanfrage aktualisieren, um die Google Health API-Bereiche zu verwenden. Die Bereiche definieren, ob Ihre App Lese- oder Schreibvorgänge unterstützt. Folgen Sie der Anleitung zur Implementierung von Bereichen. Dort wird festgelegt, dass nur die erforderlichen Bereiche angefordert werden, der Schreibzugriff nur beim Senden von Daten konfiguriert wird und mit teilweiser Einwilligung umgegangen wird.
Die Google Health API-Bereiche sind HTTP-URLs, die mit https://www.googleapis.com/auth/googlehealth.{scope} beginnen. Beispiel: https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly.
Bereichszuordnungen
Hier sehen Sie, wie die Fitbit Web API-Bereiche den Google Health API-Bereichen zugeordnet werden:
| Fitbit Web API-Bereiche | Google Health API-Bereiche |
|---|---|
| Aktivität | .activity_and_fitness.readonly
.activity_and_fitness.writeonly |
| blood_glucose | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| cardio_fitness | .activity_and_fitness.readonly
.activity_and_fitness.writeonly |
| Elektrokardiogramm | .ecg.readonly
|
| Herzfrequenz | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| irregular_rhythm_notifications | .irn.readonly
|
| Standort | .location.readonly
|
| Ernährung | .nutrition.readonly
.nutrition.writeonly |
| oxygen_saturation | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| Profil | .profile.readonly
.profile.writeonly |
| respiratory_rate | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| Einstellungen | .settings.readonly
.settings.writeonly |
| Schlaf | .sleep.readonly
.sleep.writeonly |
| Temperatur | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| Gewicht | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
Datentypen
Hier finden Sie eine Liste der Google Health API-Datentypen und wie sie der Fitbit Web API zugeordnet werden.
Weitere Informationen dazu, wie Daten für diese Typen gemeldet werden, finden Sie im Leitfaden Datenpräsenz und echte Nullen. Dieser Leitfaden enthält Details zu Inaktivität und zur Filterung am Handgelenk.
| Fitbit Web API-Datentyp | Google Health API-DatentypdataType |
|---|---|
| Aktivitätskalorien | Verbrannte aktive Energieactive-energy-burned
|
| Aktivzonenminuten | Aktivzonenminutenactive-zone-minutes
|
| Enthält Änderungen der Aktivitätslevel des Nutzers | Aktivitätslevelactivity-level
|
| Höhe | Höhealtitude
|
| Blutzucker | Blutzuckerblood-glucose
|
| Körperfett | Körperfettbody-fat
|
caloriesOut in jeder Herzfrequenzzone |
Kalorien in der Herzfrequenzzonecalories-in-heart-rate-zone
|
| Temperatur (Kern) | Körperkerntemperaturcore-body-temperature
|
| Zusammenfassung der Herzfrequenzvariabilität | Tägliche Herzfrequenzvariabilitätdaily-heart-rate-variability
|
| Zusammenfassung der Sauerstoffsättigung | Tägliche Sauerstoffsättigungdaily-oxygen-saturation
|
| Ruheherzfrequenz | Tägliche Ruheherzfrequenzdaily-resting-heart-rate
|
| Hauttemperatur | Tägliche Ableitungen der Schlaftemperaturdaily-sleep-temperature-derivations
|
| Entfernung | Entfernungdistance
|
| Elektrokardiogramm (EKG) | Elektrokardiogramm (EKG)electrocardiogram
|
| Aufgezeichnete Aktivität | Übungexercise
|
| Stockwerke | Stockwerkefloors
|
| Essen | Essenfood
|
| Essen | Essenfood
|
| Maßeinheit für Lebensmittel | Maßeinheit für Lebensmittelfood-measurement-unit
|
| Maßeinheit für Lebensmittel | Maßeinheit für Lebensmittelfood-measurement-unit
|
| Herzfrequenz | Herzfrequenzheart-rate
|
| Herzfrequenzvariabilität im Tagesverlauf | Herzfrequenzvariabilitätheart-rate-variability
|
| Benachrichtigungen über einen unregelmäßigen Herzrhythmus | Benachrichtigung über einen unregelmäßigen Herzrhythmusirregular-rhythm-notification
|
| Ernährungsprotokoll | Ernährungsprotokollnutrition-log
|
| Ernährungsprotokoll | Ernährungsprotokollnutrition-log
|
| Sauerstoffsättigung im Tagesverlauf | Sauerstoffsättigungoxygen-saturation
|
| Wert der maximalen Sauerstoffaufnahme beim Laufen | Maximale Sauerstoffaufnahme bei Laufrun-vo2-max
|
| Zeitachse der Aktivität (Minuten im Sitzen) | Sitzperiodesedentary-period
|
| Schlaf | Schlafsleep
|
| Schritte | Schrittesteps
|
| Zeitachse der Aktivität (Schwimmzüge) | Daten zu Bahnenswim-lengths-data
|
Aktivität caloriesOut |
Verbrannte Kalorien insgesamttotal-calories
|
| Wert der maximalen Sauerstoffaufnahme | Maximale Sauerstoffaufnahmevo2-max
|
| Gewicht | Gewichtweight
|
Endpunkte
Die REST-Endpunkte verwenden für alle Datentypen eine einheitliche Syntax.
- Dienstendpunkt: Die HTTP-Basis-URL ändert sich in https://health.googleapis.com.
- Endpunktsyntax: Die Google Health API unterstützt eine begrenzte Anzahl von Endpunkten, die von den meisten unterstützten Datentypen verwendet werden können. Dadurch wird eine einheitliche Syntax für alle Datentypen bereitgestellt und die Verwendung der Endpunkte vereinfacht.
- Nutzer-ID: In der Endpunktsyntax muss entweder die Nutzer-ID oder „me“ angegeben werden. Wenn Sie „me“ verwenden, wird die Nutzer-ID aus dem Zugriffstoken abgeleitet.
Beispiel: Hier sehen Sie ein Beispiel für den GET-Endpunkt „Profile“, der mit der Google Health API aufgerufen wird.
GET https://health.googleapis.com/v4/users/me/profile
Endpunktzuordnungen
Eine Liste der verfügbaren Datentypen und der von ihnen unterstützten API-Methoden finden Sie in der Tabelle zu Google Health API-Datentypen.
| Fitbit Web API-Endpunkttyp | Google Health API |
| GET (Log | Summary | Daily Summary), wenn Sie Daten für einen einzelnen Tag anfordern | Methode dailyRollup mit windowSize = 1 Tag |
| GET (Intraday), wenn Sie detaillierte Daten anfordern | Methode list |
| GET (Time Series) nach Datum oder Intervall | Methode rollUp oder dailyRollUp mit einem Zeitraum |
| GET (Log List) | Methode list |
| Logs erstellen und aktualisieren | Methode patch |
| Logs löschen | Methode batchDelete |
| Profil abrufen | users.getProfile gibt die spezifischen Informationen des Nutzers zurück.
users.getSettings gibt die Einheiten und Zeitzonen des Nutzers zurück. |
| Profil aktualisieren | users.updateProfile ändert die spezifischen Informationen des Nutzers.
users.updateSettings ändert die Einheiten und Zeitzonen des Nutzers. |
| Nutzer-ID abrufen | users.getIdentity gibt die bisherige Fitbit-Nutzer-ID und die Google Nutzer-ID des Nutzers zurück. |
| Geräte abrufen | users.pairedDevices gibt die Liste der gekoppelten Geräte zurück. |
| Abos erstellen | projects.subscribers.subscriptions.create erstellt manuell ein Abo. |
| Abos löschen | projects.subscribers.subscriptions.delete löscht ein Abo. |
| Aboliste abrufen | projects.subscribers.subscriptions.list listet alle Abos auf. |