Im Abschnitt „API-Spezifikation“ finden Sie einen detaillierten Überblick über die technischen Komponenten, die für die Integration in die Plattform erforderlich sind, einschließlich Autorisierungsbereichen, Datentypdefinitionen und Endpunktstrukturen. Diese API stellt eine strategische Weiterentwicklung der alten Fitbit Web API dar. Sie wurde auf einer modernen Infrastruktur neu aufgebaut, um eine stabilere und konsistentere Entwicklerumgebung 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. Verwenden Sie keine Bereiche, die für Ihre App nicht erforderlich sind. Sie können später jederzeit weitere Bereiche hinzufügen, wenn sich das Design Ihrer App ändert.
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
So werden die Fitbit Web API-Bereiche den Google Health API-Bereichen zugeordnet:
| 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.
| Fitbit Web API-Datentyp | Google Health API-DatentypdataType |
|---|---|
| Aktivitätskalorien | Verbrannte aktive Kalorienactive-energy-burned
|
| Aktivzonenminuten | Aktivzonenminutenactive-zone-minutes
|
| Enthält Änderungen an den Aktivitätsstufen des Nutzers | Aktivitätsniveauactivity-level
|
| Höhe | Höhealtitude
|
| Blutzucker | Blutzuckerblood-glucose
|
| Körperfett | Körperfettbody-fat
|
caloriesOut in jeder Herzfrequenzzone |
Kalorien in Herzfrequenzzonecalories-in-heart-rate-zone
|
| Temperatur (Kern) | Körperkerntemperaturcore-body-temperature
|
| HRV-Zusammenfassung | Tägliche Herzfrequenzvariabilitätdaily-heart-rate-variability
|
| SpO2-Zusammenfassung | Tägliche Sauerstoffsättigungdaily-oxygen-saturation
|
| Ruheherzfrequenz | Tägliche Ruheherzfrequenzdaily-resting-heart-rate
|
| Hauttemperatur | Tägliche Ableitungen der Schlaftemperaturdaily-sleep-temperature-derivations
|
| Entfernung | Distanzdistance
|
| Elektrokardiogramm (EKG) | Elektrokardiogramm (EKG)electrocardiogram
|
| Aufgezeichnete Aktivität | Trainingexercise
|
| Stockwerke | Stockwerkefloors
|
| Essen | Essenfood
|
| Maßeinheit für Lebensmittel | Maßeinheit für Lebensmittelfood-measurement-unit
|
| Herzfrequenz | Herzfrequenzheart-rate
|
| HFV-Tagesverlauf | Herzfrequenzvariabilitätheart-rate-variability
|
| Benachrichtigungen über einen unregelmäßigen Herzrhythmus | Benachrichtigung über einen unregelmäßigen Herzrhythmusirregular-rhythm-notification
|
| Ernährungsprotokoll | Ernährungsprotokollnutrition-log
|
| SpO2-Tagesverlauf | Sauerstoffsättigungoxygen-saturation
|
| VO2 Max-Wert beim Laufen | Maximale Sauerstoffaufnahme bei Laufrun-vo2-max
|
| Zeitreihe der Aktivität – Minuten im Sitzen | Inaktiver Zeitraumsedentary-period
|
| Schlaf | Schlafsleep
|
| Schritte | Schrittesteps
|
| Zeitreihen für Schwimmzüge | Daten zu Bahnenswim-lengths-data
|
Aktivität caloriesOut |
Kalorien insgesamttotal-calories
|
| Maximaler VO2‑Wert | Maximale Sauerstoffaufnahmevo2-max
|
| Gewicht | Gewichtweight
|
Endpunkte
Die REST-Endpunkte verwenden für alle Datentypen eine einheitliche Syntax.
- Dienstendpunkt: Die Basis-HTTP-URL ändert sich zu https://health.googleapis.com.
- Endpunktsyntax: Die Google Health API unterstützt eine begrenzte Anzahl von Endpunkten, die für die meisten unterstützten Datentypen verwendet werden können. So wird eine einheitliche Syntax für alle Datentypen erreicht und die Endpunkte sind einfacher zu verwenden.
- Nutzer-ID: In der Endpunktsyntax muss entweder die Nutzer-ID oder „me“ angegeben werden. Wenn Sie mich verwenden, wird die Nutzer-ID aus dem Zugriffstoken abgeleitet.
Beispiel: Hier ist ein Beispiel für den GET-Profil-Endpunkt, der über die Google Health API aufgerufen wird.
GET https://health.googleapis.com/v4/users/me/profile
Endpunktzuordnungen
Eine Liste der verfügbaren Datentypen und der API-Methoden, die sie unterstützen, finden Sie in der Tabelle 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) für detaillierte Daten | list-Methode |
| GET (Zeitreihen) nach Datum oder Intervall | rollUp- oder dailyRollUp-Methode mit einem Zeitraum |
| GET (Log List) | list-Methode |
| LOGS ERSTELLEN UND AKTUALISIEREN | patch-Methode |
| Protokolle löschen | Methode batchDelete |
| GET Profile | users.getProfile gibt die spezifischen Informationen des Nutzers zurück.
users.getSettings gibt die Einheiten und Zeitzonen des Nutzers zurück. |
| Profil aktualisieren | Mit users.updateProfile werden die spezifischen Informationen des Nutzers geändert.
users.updateSettings ändert die Einheiten und Zeitzonen des Nutzers. |
| Nutzer-ID abrufen | users.getIdentity gibt die alte 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 | Mit projects.subscribers.subscriptions.create wird ein Abo manuell erstellt. |
| Abos löschen | Mit projects.subscribers.subscriptions.delete wird ein Abo gelöscht. |
| Aboliste abrufen | Mit projects.subscribers.subscriptions.list werden alle Abos aufgelistet. |