L'API Google Health suit les signes vitaux et les métriques de santé physiologique des utilisateurs, comme la fréquence cardiaque, la saturation en oxygène, la glycémie, la température corporelle et les dérivations de la température corporelle quotidienne pendant le sommeil.
Découvrez comment lire les constantes vitales et demander l'autorisation des utilisateurs pour y accéder dans votre application afin de leur offrir la meilleure expérience possible.
Types de données acceptés
L'API est compatible avec les types de données suivants pour le suivi des constantes vitales et des métriques de santé :
Type de donnéesdataType
Paramètre filter |
Opérations disponibles |
Champ d'application |
|---|---|---|
Glycémie
blood-glucoseblood_glucose
Type d'enregistrement : Exemple
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Température corporelle centrale
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Variabilité quotidienne de la fréquence cardiaque
daily-heart-rate-variabilitydaily_heart_rate_variability
Type d'enregistrement : "Tous les jours"
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Zones de fréquence cardiaque quotidienne
daily-heart-rate-zonesdaily_heart_rate_zones
Type d'enregistrement : "Tous les jours"
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Saturation en oxygène quotidienne
daily-oxygen-saturationdaily_oxygen_saturation
Type d'enregistrement : "Tous les jours"
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Fréquence respiratoire quotidienne
daily-respiratory-ratedaily_respiratory_rate
Type d'enregistrement : "Tous les jours"
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Fréquence cardiaque au repos quotidienne
daily-resting-heart-ratedaily_resting_heart_rate
Type d'enregistrement : "Tous les jours"
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Dérivations quotidiennes de la température de sommeil
daily-sleep-temperature-derivationsdaily_sleep_temperature_derivations
Type d'enregistrement : "Tous les jours"
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Électrocardiogramme (ECG)
electrocardiogramelectrocardiogram
Type d'enregistrement : session
Appareils compatibles
|
list | .ecg.readonly |
Fréquence cardiaque
heart-rateheart_rate
Type d'enregistrement : Exemple
Appareils compatibles
|
list, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Variabilité de la fréquence cardiaque
heart-rate-variabilityheart_rate_variability
Type d'enregistrement : Exemple
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Notification de rythme irrégulier
irregular-rhythm-notificationirregular_rhythm_notification
Type d'enregistrement : session
|
list | .irn.readonly |
Saturation en oxygène
oxygen-saturationoxygen_saturation
Type d'enregistrement : Exemple
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Résumé du sommeil avec la fréquence respiratoire
respiratory-rate-sleep-summaryrespiratory_rate_sleep_summary
Type d'enregistrement : Exemple
Appareils compatibles
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Exigences de lecture seule
Les types de données des constantes physiologiques sont renseignés par la synchronisation de l'appareil ou par les entrées de journaux manuels dans l'application mobile ou l'application Web Fitbit. Ils sont en lecture seule via l'API REST (ils ne peuvent pas être écrits ni modifiés directement via les points de terminaison de l'API Google Health).
Les sections suivantes fournissent des informations techniques et des formats de représentation REST pour les données vitales.
Fréquence cardiaque et santé cardiaque
L'API fournit des mesures intrajournalières détaillées et des récapitulatifs quotidiens pour les métriques de fréquence cardiaque :
- Fréquence cardiaque (
heart-rate) : mesures ponctuelles de la fréquence cardiaque contenant un nombrebeatsPerMinute, ainsi que l'motionContextde l'utilisateur (par exemple,SEDENTARYouACTIVE) etsensorLocation(par exemple,WRISTouCHEST). - Fréquence cardiaque au repos quotidienne (
daily-resting-heart-rate) : valeur de référence quotidienne de la fréquence cardiaque au repos. - Variabilité de la fréquence cardiaque (
heart-rate-variabilityetdaily-heart-rate-variability) : enregistre la racine carrée de la moyenne des différences successives (rmssd) en millisecondes pour représenter la VFC.
Exemple de représentation REST
Pour interroger les mesures de fréquence cardiaque, envoyez une requête GET au point de terminaison list.
L'exemple suivant montre un point de données heart-rate unique de la liste renvoyée :
Requête
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
Réponse
{
"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"
}
}
}
]
}Glycémie
Le type de données blood-glucose représente la glycémie de l'utilisateur. Les points de glycémie indiquent la concentration en milligrammes par décilitre (mg/dL), le contexte du repas ou du moment, et les informations sur l'échantillon.
Exemple de représentation REST
Pour interroger les mesures de glycémie, envoyez une requête GET au point de terminaison list. L'exemple suivant montre un point de données blood-glucose unique de la liste renvoyée :
Requête
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
Réponse
{
"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"
}
}
]
}Saturation en oxygène (SpO2)
L'API suit les niveaux d'oxygène à l'aide de oxygen-saturation (valeurs d'échantillon intrajournalières) et de daily-oxygen-saturation (statistiques récapitulatives quotidiennes). La concentration en pourcentage est exprimée sous la forme d'un nombre compris entre 0 et 100.
Exemple de représentation REST
Pour interroger les mesures de saturation en oxygène, envoyez une requête GET au point de terminaison list. L'exemple suivant montre un seul point de données oxygen-saturation de la liste renvoyée :
Requête
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
Réponse
{
"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
}
}
]
}Température
Le suivi de la température inclut les métriques de température corporelle et les tendances de la température cutanée pendant le sommeil :
- Température corporelle (
core-body-temperature) : enregistre la température des organes internes en degrés Celsius, avec le site de mesure spécifique (par exemple,ARMPIT,EARouFOREHEAD). - Dérivations de la température pendant le sommeil (
daily-sleep-temperature-derivations) : variances de température cutanée à haute fréquence enregistrées pendant la nuit.
Exemple de représentation REST
Pour interroger les mesures de température corporelle, envoyez une requête GET au point de terminaison list. L'exemple suivant montre un point de données core-body-temperature unique de la liste renvoyée :
Requête
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
Réponse
{
"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"
}
}
]
}Électrocardiogramme (ECG) et notifications
Pour les appareils dotés de capteurs de qualité médicale, l'API expose des types de données avancés sur la santé cardiaque :
- Électrocardiogramme (
electrocardiogram) : résultats d'une session d'ECG à une dérivation, contenant une classification (SINUS_RHYTHM,ATRIAL_FIBRILLATION,INCONCLUSIVE), la fréquence cardiaque moyenne, la fréquence d'échantillonnage et les échantillons bruts de tension de la forme d'onde. - Notification de rythme irrégulier (
irregular-rhythm-notification) : événements d'alerte contextuels indiquant des signes de FA potentielle détectés lors de la surveillance passive.
Exemple de représentation REST
Pour interroger les données de session d'électrocardiogramme, envoyez une requête GET au point de terminaison list. L'exemple suivant montre un seul point de données electrocardiogram de la liste renvoyée :
Requête
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
Réponse
{
"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
]
}
}
]
}Champs d'application et autorisation
Pour utiliser la fonctionnalité Données sur les constantes et la santé cardiaque, votre application doit demander les habilitations OAuth suivantes :
- Lire :
https://www.googleapis.com/auth/googlehealth.ecg.readonly - Lire :
https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly - Écrire :
https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly - Lire :
https://www.googleapis.com/auth/googlehealth.irn.readonly
Consignes
Suivez ces consignes lorsque vous concevez des fonctionnalités avec des métriques de santé et des signes vitaux :
- Gérer les conversions d'unités : les valeurs de température sont fournies en degrés Celsius. Convertissez la température en degrés Fahrenheit dans votre code d'interface en fonction des préférences localisées de l'utilisateur.
- Gérer les notifications de webhook : abonnez-vous aux alertes de webhook pour les constantes afin de déclencher une analyse du backend immédiatement après qu'un utilisateur a synchronisé de nouvelles lectures (comme la fréquence cardiaque ou la glycémie).
- Respectez la sensibilité des données : assurez-vous que votre produit explique clairement aux utilisateurs les contextes cliniques ou de bien-être pour la lecture des constantes physiologiques à haute fréquence. Expliquez pourquoi des portées telles que
health_metrics_and_measurementsouecgsont requises avant d'appeler les invites d'autorisation.