Développer des expériences liées aux constantes et aux indicateurs de santé avec l'API Google Health

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é :

Tableau : Types de données Google Health API Vitals
Type de données
  dataType Paramètre
  filter
Opérations
disponibles
Champ d'application
Glycémie
blood-glucose
blood_glucose
Type d'enregistrement  : Exemple
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Température corporelle centrale
core-body-temperature
core_body_temperature
Type d'enregistrement  : Exemple
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-variability
daily_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-zones
daily_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-saturation
daily_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-rate
daily_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-rate
daily_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-derivations
daily_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)
electrocardiogram
electrocardiogram
Type d'enregistrement  : session

Appareils compatibles

list .ecg.readonly
Fréquence cardiaque
heart-rate
heart_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-variability
heart_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-notification
irregular_rhythm_notification
Type d'enregistrement  : session
list .irn.readonly
Saturation en oxygène
oxygen-saturation
oxygen_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-summary
respiratory_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 nombre beatsPerMinute, ainsi que l'motionContext de l'utilisateur (par exemple, SEDENTARY ou ACTIVE) et sensorLocation (par exemple, WRIST ou CHEST).
  • 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-variability et daily-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, EAR ou FOREHEAD).
  • 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_measurements ou ecg sont requises avant d'appeler les invites d'autorisation.