API-Spezifikationen

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:

Tabelle: Zuordnungen von Fitbit Web API-Bereichen zu Google Health API-Bereichen
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.

Tabelle: Zuordnungen von Fitbit Web API-Datentypen zu Google Health API-Datentypen
Fitbit Web API-Datentyp Google Health API-Datentyp
  dataType
Aktivitätskalorien Verbrannte aktive Energie
  active-energy-burned
Aktivzonenminuten Aktivzonenminuten
  active-zone-minutes
Enthält Änderungen der Aktivitätslevel des Nutzers Aktivitätslevel
  activity-level
Höhe Höhe
  altitude
Blutzucker Blutzucker
  blood-glucose
Körperfett Körperfett
  body-fat
caloriesOut in jeder Herzfrequenzzone Kalorien in der Herzfrequenzzone
  calories-in-heart-rate-zone
Temperatur (Kern) Körperkerntemperatur
  core-body-temperature
Zusammenfassung der Herzfrequenzvariabilität Tägliche Herzfrequenzvariabilität
  daily-heart-rate-variability
Zusammenfassung der Sauerstoffsättigung Tägliche Sauerstoffsättigung
  daily-oxygen-saturation
Ruheherzfrequenz Tägliche Ruheherzfrequenz
  daily-resting-heart-rate
Hauttemperatur Tägliche Ableitungen der Schlaftemperatur
  daily-sleep-temperature-derivations
Entfernung Entfernung
  distance
Elektrokardiogramm (EKG) Elektrokardiogramm (EKG)
  electrocardiogram
Aufgezeichnete Aktivität Übung
  exercise
Stockwerke Stockwerke
  floors
Essen Essen
  food
Essen Essen
  food
Maßeinheit für Lebensmittel Maßeinheit für Lebensmittel
  food-measurement-unit
Maßeinheit für Lebensmittel Maßeinheit für Lebensmittel
  food-measurement-unit
Herzfrequenz Herzfrequenz
  heart-rate
Herzfrequenzvariabilität im Tagesverlauf Herzfrequenzvariabilität
  heart-rate-variability
Benachrichtigungen über einen unregelmäßigen Herzrhythmus Benachrichtigung über einen unregelmäßigen Herzrhythmus
  irregular-rhythm-notification
Ernährungsprotokoll Ernährungsprotokoll
  nutrition-log
Ernährungsprotokoll Ernährungsprotokoll
  nutrition-log
Sauerstoffsättigung im Tagesverlauf Sauerstoffsättigung
  oxygen-saturation
Wert der maximalen Sauerstoffaufnahme beim Laufen Maximale Sauerstoffaufnahme bei Lauf
  run-vo2-max
Zeitachse der Aktivität (Minuten im Sitzen) Sitzperiode
  sedentary-period
Schlaf Schlaf
  sleep
Schritte Schritte
  steps
Zeitachse der Aktivität (Schwimmzüge) Daten zu Bahnen
  swim-lengths-data
Aktivität caloriesOut Verbrannte Kalorien insgesamt
  total-calories
Wert der maximalen Sauerstoffaufnahme Maximale Sauerstoffaufnahme
  vo2-max
Gewicht Gewicht
  weight

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.