API-Spezifikationen

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 ist eine strategische Weiterentwicklung der alten Fitbit Web API. 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. Folgen Sie der Anleitung zur Implementierung von Bereichen. Dort wird beschrieben, wie Sie nur die erforderlichen Bereiche anfordern, Schreibzugriff nur beim Senden von Daten konfigurieren und mit teilweiser Einwilligung umgehen.

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:

Tabelle: Zuordnung 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 erfasst werden, finden Sie im Leitfaden zu Datenverfügbarkeit und echten Nullen. Dieser Leitfaden enthält Details zu Inaktivität und Filtern am Handgelenk.

Tabelle: Zuordnung von Fitbit Web API- zu Google Health API-Datentypen
Fitbit Web API-Datentyp Google Health API-Datentyp
  dataType
Aktivitätskalorien Verbrannte aktive Kalorien
  active-energy-burned
Aktivzonen­minuten Aktivzonenminuten
  active-zone-minutes
Enthält Änderungen an den Aktivitätsstufen des Nutzers Aktivitätsniveau
  activity-level
Höhe Höhe
  altitude
Blutzucker Blutzucker
  blood-glucose
Körperfett Körperfett
  body-fat
caloriesOut in jeder Herzfrequenzzone Kalorien in Herzfrequenzzone
  calories-in-heart-rate-zone
Temperatur (Kern) Körpertemperatur
  core-body-temperature
Zusammenfassung der HRV Tägliche Herzfrequenzvariabilität
  daily-heart-rate-variability
SpO2-Zusammenfassung Tägliche Sauerstoffsättigung
  daily-oxygen-saturation
Ruhe­herz­frequenz Tägliche Ruheherzfrequenz
  daily-resting-heart-rate
Hauttemperatur Tägliche Ableitungen der Schlaftemperatur
  daily-sleep-temperature-derivations
Entfernung Distanz
  distance
Elektrokardiogramm (EKG) Elektrokardiogramm (EKG)
  electrocardiogram
Aufgezeichnete Aktivität Training
  exercise
Stockwerke Stockwerke
  floors
Essen Essen
  food
Maßeinheit für Lebensmittel Maßeinheit für Lebensmittel
  food-measurement-unit
Herzfrequenz Herzfrequenz
  heart-rate
HFV 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
SpO2 im Tagesverlauf Sauerstoffsättigung
  oxygen-saturation
VO2 Max-Wert beim Laufen Maximale Sauerstoffaufnahme bei Lauf
  run-vo2-max
Zeitreihe für Aktivität – Minuten im Sitzen Inaktiver Zeitraum
  sedentary-period
Schlaf Schlaf
  sleep
Schritte Schritte
  steps
Zeitachse für Aktivitätsschwimmzüge Daten zu Bahnen
  swim-lengths-data
Aktivität caloriesOut Kalorien insgesamt
  total-calories
Maximaler VO2‑Wert Maximale Sauerstoffaufnahme
  vo2-max
Gewicht Gewicht
  weight

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 bereitgestellt 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 Profile-Endpunkt, 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 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 dailyRollup-Methode mit windowSize = 1 Tag
GET (Intraday), wenn Sie detaillierte Daten anfordern 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
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 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 projects.subscribers.subscriptions.delete: Ein Abo löschen
Aboliste abrufen Mit projects.subscribers.subscriptions.list werden alle Abos aufgelistet.