L'API Google Health monitora i parametri vitali e le metriche di salute fisiologica dell'utente, come battito cardiaco, saturazione di ossigeno, glicemia, temperatura corporea centrale e derivazioni della temperatura del sonno giornaliera.
Scopri come leggere e richiedere l'autorizzazione utente per i dati di Vitals nella tua applicazione per offrire la migliore esperienza ai tuoi utenti.
Tipi di dati supportati
L'API supporta i seguenti tipi di dati per il monitoraggio dei parametri vitali e delle metriche sanitarie:
Tipo di datidataType
Parametro filter |
Operazioni disponibili |
Ambito |
|---|---|---|
|
Glicemia
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Temperatura corporea interna
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Variabilità del battito cardiaco giornaliera
daily-heart-rate-variabilitydaily_heart_rate_variability
Tipo di record: giornaliero
Dispositivi compatibili
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Zone battito cardiaco giornaliere
daily-heart-rate-zonesdaily_heart_rate_zones
Tipo di record: giornaliero
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Saturazione di ossigeno giornaliera
daily-oxygen-saturationdaily_oxygen_saturation
Tipo di record: giornaliero
Dispositivi compatibili
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Frequenza respiratoria giornaliera
daily-respiratory-ratedaily_respiratory_rate
Tipo di record: giornaliero
Dispositivi compatibili
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Battito cardiaco a riposo giornaliero
daily-resting-heart-ratedaily_resting_heart_rate
Tipo di record: giornaliero
Dispositivi compatibili
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Derivazioni della temperatura del sonno giornaliera
daily-sleep-temperature-derivationsdaily_sleep_temperature_derivations
Tipo di record: giornaliero
Dispositivi compatibili
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Elettrocardiogramma (ECG)
electrocardiogramelectrocardiogram
Tipo di record: Sessione
Dispositivi compatibili
|
list | .ecg.readonly |
Battito cardiaco
heart-rateheart_rate
Tipo di record: Esempio
Dispositivi compatibili
|
list, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Variabilità del battito cardiaco
heart-rate-variabilityheart_rate_variability
Tipo di record: Esempio
Dispositivi compatibili
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Notifica di ritmo irregolare
irregular-rhythm-notificationirregular_rhythm_notification
Tipo di record: Sessione
|
list | .irn.readonly |
Saturazione di ossigeno
oxygen-saturationoxygen_saturation
Tipo di record: Esempio
Dispositivi compatibili
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Riepilogo del sonno della frequenza respiratoria
respiratory-rate-sleep-summaryrespiratory_rate_sleep_summary
Tipo di record: Esempio
Dispositivi compatibili
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Requisiti di sola lettura
I tipi di dati dei parametri vitali fisiologici vengono compilati tramite la sincronizzazione del dispositivo o le voci di log manuali nell'app mobile o nell'app web Fitbit e sono di sola lettura tramite l'API REST (non possono essere scritti o modificati direttamente tramite gli endpoint API di Google Health).
Le seguenti sezioni forniscono dettagli tecnici e formati di rappresentazione REST per i dati vitali.
Battito cardiaco e salute del cuore
L'API fornisce misurazioni intraday dettagliate e riepiloghi giornalieri per le metriche della frequenza cardiaca:
- Battito cardiaco (
heart-rate): misurazioni del battito cardiaco in un determinato momento contenenti un conteggiobeatsPerMinute, insieme almotionContextdell'utente (ad esempioSEDENTARYoACTIVE) e alsensorLocation(ad esempioWRISToCHEST). - Battito cardiaco a riposo giornaliero (
daily-resting-heart-rate): un valore di base giornaliero del battito cardiaco a riposo. - Variabilità del battito cardiaco (
heart-rate-variabilityedaily-heart-rate-variability): registra la radice quadrata della media delle differenze successive (rmssd) in millisecondi per rappresentare l'HRV.
Esempio di rappresentazione REST
Per eseguire query sulle misurazioni della frequenza cardiaca, invia una richiesta GET all'endpoint list.
L'esempio seguente mostra un singolo punto dati heart-rate dell'elenco restituito:
Richiesta
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
Risposta
{
"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"
}
}
}
]
}Glicemia
Il tipo di dati blood-glucose rappresenta i livelli di glicemia dell'utente. I punti di
glucosio nel sangue contengono la concentrazione in milligrammi per decilitro (mg/dL),
il contesto del pasto o dell'orario e le informazioni sul campione.
Esempio di rappresentazione REST
Per eseguire query sulle misurazioni della glicemia, invia una richiesta GET all'endpoint list. L'esempio seguente mostra un singolo punto dati blood-glucose
dell'elenco restituito:
Richiesta
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
Risposta
{
"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"
}
}
]
}Saturazione di ossigeno (SpO2)
L'API monitora i livelli di ossigeno utilizzando oxygen-saturation (valori campione infragiornalieri)
e daily-oxygen-saturation (statistiche riepilogative giornaliere). La concentrazione
percentuale è espressa come un numero compreso tra 0 e 100.
Esempio di rappresentazione REST
Per eseguire query sulle misurazioni della saturazione di ossigeno, invia una richiesta GET all'endpoint list. Il seguente esempio mostra un singolo punto dati oxygen-saturation
dell'elenco restituito:
Richiesta
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
Risposta
{
"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
}
}
]
}Temperatura
Il monitoraggio della temperatura include le metriche della temperatura corporea interna e le tendenze della temperatura cutanea durante la notte:
- Temperatura corporea interna (
core-body-temperature): registra la temperatura degli organi interni in gradi Celsius, con il sito di misurazione specifico (ad esempioARMPIT,EARoFOREHEAD). - Derivazioni della temperatura del sonno (
daily-sleep-temperature-derivations): Variazioni della temperatura cutanea ad alta frequenza registrate durante la notte.
Esempio di rappresentazione REST
Per eseguire query sulle misurazioni della temperatura corporea centrale, invia una richiesta GET all'endpoint list. Il seguente esempio mostra un singolo punto dati core-body-temperature
dell'elenco restituito:
Richiesta
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
Risposta
{
"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"
}
}
]
}Elettrocardiogramma (ECG) e notifiche
Per i dispositivi con sensori di grado medico, l'API espone tipi di dati avanzati sulla salute del cuore:
- Elettrocardiogramma (
electrocardiogram): risultati della sessione ECG a singola derivazione, contenenti una classificazione (SINUS_RHYTHM,ATRIAL_FIBRILLATION,INCONCLUSIVE), frequenza cardiaca media, frequenza di campionamento e campioni di tensione della forma d'onda grezza. - Notifica di ritmo irregolare (
irregular-rhythm-notification): Eventi di avviso contestuali che indicano segni di potenziale FA rilevati durante il monitoraggio passivo.
Esempio di rappresentazione REST
Per eseguire query sui dati della sessione di elettrocardiogramma, invia una richiesta GET all'endpoint list. Il seguente esempio mostra un singolo punto dati electrocardiogram
dell'elenco restituito:
Richiesta
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
Risposta
{
"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
]
}
}
]
}Ambiti e autorizzazione
Per utilizzare la funzionalità dati su parametri vitali e salute del cuore, la tua app deve richiedere i seguenti ambiti OAuth:
- Leggi:
https://www.googleapis.com/auth/googlehealth.ecg.readonly - Leggi:
https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly - Scrittura:
https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly - Leggi:
https://www.googleapis.com/auth/googlehealth.irn.readonly
Linee guida
Utilizza queste linee guida quando progetti funzionalità con parametri vitali e metriche di salute:
- Gestisci le conversioni di unità: i valori di temperatura sono forniti in gradi Celsius. Converti in gradi Fahrenheit nel codice frontend in base alle preferenze localizzate dell'utente.
- Gestisci le notifiche webhook: iscriviti agli avvisi webhook per i parametri vitali per attivare l'analisi di backend immediatamente dopo che un utente sincronizza nuove letture (ad esempio frequenza cardiaca o glicemia).
- Rispetta la sensibilità dei dati: assicurati che il tuo prodotto spieghi chiaramente agli utenti i contesti clinici o di benessere per la lettura dei parametri fisiologici ad alta frequenza. Spiega perché sono necessari ambiti come
health_metrics_and_measurementsoecgprima di chiamare i prompt di autorizzazione.