Über die Google Health API werden Vitalparameter und physiologische Gesundheitsmesswerte von Nutzern erfasst, z. B. Herzfrequenz, Sauerstoffsättigung, Blutzucker, Körpertemperatur und abgeleitete tägliche Schlaftemperatur.
Hier erfahren Sie, wie Sie die Nutzerautorisierung für Vitalparameter-Daten in Ihrer Anwendung lesen und anfordern, um Ihren Nutzern die bestmögliche Erfahrung zu bieten.
Unterstützte Datentypen
Die API unterstützt die folgenden Datentypen zum Erfassen von Vitalparametern und Gesundheitsmesswerten:
DatentypdataType
filter-Parameter |
Verfügbare Vorgänge |
Bereich |
|---|---|---|
|
Blutzucker
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Körpertemperatur
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Tägliche Herzfrequenzvariabilität
daily-heart-rate-variabilitydaily_heart_rate_variability
Eintragstyp : Täglich
Kompatible Geräte
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Tägliche Herzfrequenzzonen
daily-heart-rate-zonesdaily_heart_rate_zones
Eintragstyp : Täglich
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Tägliche Sauerstoffsättigung
daily-oxygen-saturationdaily_oxygen_saturation
Eintragstyp : Täglich
Kompatible Geräte
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Tägliche Atemfrequenz
daily-respiratory-ratedaily_respiratory_rate
Eintragstyp : Täglich
Kompatible Geräte
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Tägliche Ruheherzfrequenz
daily-resting-heart-ratedaily_resting_heart_rate
Eintragstyp : Täglich
Kompatible Geräte
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Tägliche Ableitungen der Schlaftemperatur
daily-sleep-temperature-derivationsdaily_sleep_temperature_derivations
Eintragstyp : Täglich
Kompatible Geräte
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Elektrokardiogramm (EKG)
electrocardiogramelectrocardiogram
Eintragstyp : Sitzung
Kompatible Geräte
|
list | .ecg.readonly |
Herzfrequenz
heart-rateheart_rate
Eintragstyp : Beispiel
Kompatible Geräte
|
list, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Herzfrequenzvariabilität
heart-rate-variabilityheart_rate_variability
Eintragstyp : Beispiel
Kompatible Geräte
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Benachrichtigung über einen unregelmäßigen Herzrhythmus
irregular-rhythm-notificationirregular_rhythm_notification
Eintragstyp : Sitzung
|
list | .irn.readonly |
Sauerstoffsättigung
oxygen-saturationoxygen_saturation
Eintragstyp : Beispiel
Kompatible Geräte
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Zusammenfassung der Atemfrequenz im Schlaf
respiratory-rate-sleep-summaryrespiratory_rate_sleep_summary
Eintragstyp : Beispiel
Kompatible Geräte
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Anforderungen für Lesezugriff
Physiologische Vitalparameter-Datentypen werden durch die Gerätesynchronisierung oder manuelle Protokolleinträge in der mobilen Fitbit App oder der Fitbit Web-App ausgefüllt und sind über die REST API schreibgeschützt. Sie können nicht direkt über Google Health API-Endpunkte geschrieben oder geändert werden.
In den folgenden Abschnitten finden Sie technische Details und REST-Darstellungsformate für Vitaldaten.
Herzfrequenz und Herzgesundheit
Die API bietet detaillierte Messungen innerhalb eines Tages und tägliche Zusammenfassungen für Herzfrequenzmesswerte:
- Herzfrequenz (
heart-rate): Herzfrequenzmessungen zu einem bestimmten Zeitpunkt mit einerbeatsPerMinute-Anzahl sowie dermotionContextdes Nutzers (z. B.SEDENTARYoderACTIVE) undsensorLocation(z. B.WRISToderCHEST). - Tägliche Ruheherzfrequenz (
daily-resting-heart-rate): Ein täglicher Baseline-Wert für die Ruheherzfrequenz. - Herzfrequenzvariabilität (
heart-rate-variabilityunddaily-heart-rate-variability): Erfasst den quadratischen Mittelwert der aufeinanderfolgenden Differenzen (rmssd) in Millisekunden, um die HRV darzustellen.
Beispiel für die REST-Darstellung
Wenn Sie Herzfrequenzmessungen abfragen möchten, senden Sie eine GET-Anfrage an den Endpunkt list.
Das folgende Beispiel zeigt einen einzelnen heart-rate-Datenpunkt aus der zurückgegebenen Liste:
Anfrage
GET https://health.googleapis.com/v4/users/me/dataTypes/heart-rate/dataPoints?startTime=2026-04-20T08:00:00Z&endTime=2026-04-20T08:05:00Z Authorization: Bearer access-token Accept: application/json
Antwort
{
"dataPoints": [
{
"name": "users/me/dataTypes/heart-rate/dataPoints/hr-123456789",
"dataSource": {
"recordingMethod": "ACTIVELY_MEASURED"
},
"heartRate": {
"sampleTime": {
"physicalTime": "2026-04-20T08:00:00Z",
"utcOffset": "0s"
},
"beatsPerMinute": "72",
"metadata": {
"motionContext": "SEDENTARY",
"sensorLocation": "WRIST"
}
}
}
]
}Blutzucker
Der Datentyp blood-glucose steht für den Blutzuckerspiegel des Nutzers. Blutzuckerwerte enthalten die Konzentration in Milligramm pro Deziliter (mg/dL), den Kontext für Mahlzeit oder Zeitpunkt sowie Informationen zur Probe.
Beispiel für die REST-Darstellung
Wenn du Blutzuckermessungen abfragen möchtest, sende eine GET-Anfrage an den Endpunkt list. Das folgende Beispiel zeigt einen einzelnen blood-glucose-Datenpunkt aus der zurückgegebenen Liste:
Anfrage
GET https://health.googleapis.com/v4/users/me/dataTypes/blood-glucose/dataPoints?startTime=2026-04-20T08:00:00Z&endTime=2026-04-20T09:00:00Z Authorization: Bearer access-token Accept: application/json
Antwort
{
"dataPoints": [
{
"name": "users/me/dataTypes/blood-glucose/dataPoints/bg-987654321",
"dataSource": {
"recordingMethod": "MANUALLY_ENTERED"
},
"bloodGlucose": {
"sampleTime": {
"physicalTime": "2026-04-20T08:30:00Z",
"utcOffset": "-25200s"
},
"bloodGlucoseMilligramsPerDeciliter": 95.0,
"measurementSource": "SELF_MONITORING_BLOOD_GLUCOSE",
"mealType": "BREAKFAST",
"measurementTiming": "AFTER_MEAL",
"specimen": "CAPILLARY_BLOOD",
"notes": "Post-breakfast fingerstick reading"
}
}
]
}Sauerstoffsättigung (SpO2)
Die API erfasst den Sauerstoffgehalt mithilfe von oxygen-saturation (Werte für Stichproben innerhalb eines Tages) und daily-oxygen-saturation (Tageszusammenfassungsstatistiken). Die prozentuale Konzentration wird als Zahl zwischen 0 und 100 angegeben.
Beispiel für die REST-Darstellung
Wenn Sie Messungen der Sauerstoffsättigung abfragen möchten, senden Sie eine GET-Anfrage an den Endpunkt list. Das folgende Beispiel zeigt einen einzelnen oxygen-saturation-Datenpunkt aus der zurückgegebenen Liste:
Anfrage
GET https://health.googleapis.com/v4/users/me/dataTypes/oxygen-saturation/dataPoints?startTime=2026-04-20T03:00:00Z&endTime=2026-04-20T03:05:00Z Authorization: Bearer access-token Accept: application/json
Antwort
{
"dataPoints": [
{
"name": "users/me/dataTypes/oxygen-saturation/dataPoints/spo2-555555",
"dataSource": {
"recordingMethod": "ACTIVELY_MEASURED"
},
"oxygenSaturation": {
"sampleTime": {
"physicalTime": "2026-04-20T03:00:00Z",
"utcOffset": "0s"
},
"percentage": 98.2
}
}
]
}Temperatur
Die Temperaturmessung umfasst Messwerte für die Körperkerntemperatur und Trends bei der Hauttemperatur während des Schlafs:
- Körperkerntemperatur (
core-body-temperature): Erfasst die Temperatur der inneren Organe in Grad Celsius an der jeweiligen Messstelle (z. B.ARMPIT,EARoderFOREHEAD). - Abgeleitete Schlaftemperatur (
daily-sleep-temperature-derivations): Über Nacht aufgezeichnete hochfrequente Schwankungen der Hauttemperatur.
Beispiel für die REST-Darstellung
Wenn du Messungen der Körperkerntemperatur abfragen möchtest, sende eine GET-Anfrage an den Endpunkt list. Das folgende Beispiel zeigt einen einzelnen core-body-temperature-Datenpunkt aus der zurückgegebenen Liste:
Anfrage
GET https://health.googleapis.com/v4/users/me/dataTypes/core-body-temperature/dataPoints?startTime=2026-04-20T22:00:00Z&endTime=2026-04-20T23:00:00Z Authorization: Bearer access-token Accept: application/json
Antwort
{
"dataPoints": [
{
"name": "users/me/dataTypes/core-body-temperature/dataPoints/cbt-666666",
"dataSource": {
"recordingMethod": "ACTIVELY_MEASURED"
},
"coreBodyTemperature": {
"sampleTime": {
"physicalTime": "2026-04-20T22:30:00Z",
"utcOffset": "-18000s"
},
"temperatureCelsius": 36.8,
"measurementLocation": "FOREHEAD"
}
}
]
}Elektrokardiogramm (EKG) und Benachrichtigungen
Für Geräte mit medizinischen Sensoren stellt die API erweiterte Daten zu Herzgesundheitstypen bereit:
- Elektrokardiogramm (
electrocardiogram): Ergebnisse einer 1‑Kanal‑EKG-Aufzeichnung mit einer Klassifizierung (SINUS_RHYTHM,ATRIAL_FIBRILLATION,INCONCLUSIVE), durchschnittlicher Herzfrequenz, Abtastfrequenz und Rohdaten der Wellenformspannung. - Benachrichtigung über einen unregelmäßigen Herzrhythmus (
irregular-rhythm-notification): Kontextbezogene Benachrichtigungsereignisse, die auf Anzeichen von potenziellem Vorhofflimmern hinweisen, die während der passiven Überwachung erkannt wurden.
Beispiel für die REST-Darstellung
Wenn Sie Daten zu EKG-Sitzungen abfragen möchten, senden Sie eine GET-Anfrage an den Endpunkt list. Das folgende Beispiel zeigt einen einzelnen electrocardiogram-Datenpunkt aus der zurückgegebenen Liste:
Anfrage
GET https://health.googleapis.com/v4/users/me/dataTypes/electrocardiogram/dataPoints?startTime=2026-04-20T10:00:00Z&endTime=2026-04-20T10:05:00Z Authorization: Bearer access-token Accept: application/json
Antwort
{
"dataPoints": [
{
"name": "users/me/dataTypes/electrocardiogram/dataPoints/ecg-777777",
"dataSource": {
"recordingMethod": "ACTIVELY_MEASURED"
},
"electrocardiogram": {
"interval": {
"startTime": "2026-04-20T10:00:00Z",
"startUtcOffset": "0s",
"endTime": "2026-04-20T10:00:30Z",
"endUtcOffset": "0s"
},
"resultClassification": "SINUS_RHYTHM",
"beatsPerMinuteAvg": "70",
"samplingFrequencyHertz": 250,
"millivoltsScalingFactor": 1000,
"leadNumber": 1,
"waveformSamples": [
-12, -8, 4, 18, 30, 42, 50, 48, 32, 10
]
}
}
]
}Bereiche und Autorisierung
Wenn Sie die Funktion Vitalparameter und Daten zur Herzgesundheit verwenden möchten, muss Ihre App die folgenden OAuth-Bereiche anfordern:
- Lesen:
https://www.googleapis.com/auth/googlehealth.ecg.readonly - Lesen:
https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly - Schreiben:
https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly - Lesen:
https://www.googleapis.com/auth/googlehealth.irn.readonly
Richtlinien
Beachten Sie die folgenden Richtlinien, wenn Sie Funktionen mit Vitalparametern und Gesundheitsmesswerten entwickeln:
- Einheitenumrechnungen vornehmen: Temperaturwerte werden in Grad Celsius angegeben. Konvertieren Sie die Temperatur in Ihrem Frontend-Code in Fahrenheit, basierend auf den lokalisierten Einstellungen des Nutzers.
- Webhook-Benachrichtigungen verwalten: Abonnieren Sie Webhook-Benachrichtigungen für Vitalparameter, um die Backend-Analyse sofort auszulösen, nachdem ein Nutzer neue Messwerte (z. B. Herzfrequenz oder Blutzucker) synchronisiert hat.
- Sensibilität von Daten berücksichtigen: In Ihrem Produkt muss Nutzern der klinische oder Wellness-Kontext für das Lesen hochfrequenter physiologischer Vitalparameter klar erläutert werden. Erklären Sie, warum Bereiche wie
health_metrics_and_measurementsoderecgerforderlich sind, bevor Autorisierungsaufforderungen aufgerufen werden.