La sezione Specifiche API fornisce una panoramica dettagliata dei componenti tecnici essenziali per l'integrazione con la piattaforma, inclusi ambiti di autorizzazione, definizioni dei tipi di dati e strutture degli endpoint. Questa API rappresenta un'evoluzione strategica della precedente API Fitbit Web, ricostruita su un'infrastruttura moderna per garantire un'esperienza di sviluppo più stabile e coerente.
Ambiti
Devi aggiornare la richiesta di autorizzazione per utilizzare gli ambiti dell'API Google Health. Gli ambiti definiscono se la tua app supporta le operazioni di lettura o scrittura. Segui le istruzioni per l'implementazione degli ambiti, che specificano di richiedere solo gli ambiti necessari, di configurare l'accesso in scrittura solo quando invii i dati e di gestire correttamente il consenso parziale.
Gli ambiti dell'API Google Health sono un URL HTTP che inizia con https://www.googleapis.com/auth/googlehealth.{scope}. Ad esempio, https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly.
Mappature degli ambiti
Ecco come gli ambiti dell'API Fitbit Web vengono mappati agli ambiti dell'API Google Health:
| Ambiti dell'API Fitbit Web | Ambiti dell'API Google Health |
|---|---|
| attività | .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 |
| elettrocardiogramma | .ecg.readonly
|
| battito cardiaco | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| irregular_rhythm_notifications | .irn.readonly
|
| località | .location.readonly
|
| alimentazione | .nutrition.readonly
.nutrition.writeonly |
| oxygen_saturation | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| profilo | .profile.readonly
.profile.writeonly |
| respiratory_rate | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| impostazioni | .settings.readonly
.settings.writeonly |
| sonno | .sleep.readonly
.sleep.writeonly |
| temperatura | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| peso | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
Tipi di dati
Ecco un elenco dei tipi di dati dell'API Google Health e di come vengono mappati all'API Fitbit Web.
Per ulteriori informazioni su come vengono segnalati i dati per questi tipi, consulta la guida Presenza dei dati e zeri effettivi. Questa guida include dettagli sull'inattività e sul filtro sul polso.
| Tipo di dati dell'API Fitbit Web | Tipo di dati dell'API Google HealthdataType |
|---|---|
| Calorie attività | Energia bruciata in fase di attivitàactive-energy-burned
|
| Minuti in zona attiva | Minuti in zona attivaactive-zone-minutes
|
| Contiene le modifiche ai livelli di attività dell'utente | Livello di attivitàactivity-level
|
| Elevazione | Altitudinealtitude
|
| Glicemia | Glicemiablood-glucose
|
| Grasso corporeo | Grasso corporeobody-fat
|
caloriesOut in ogni zona cardio |
Calorie nella zona cardiocalories-in-heart-rate-zone
|
| Temperatura (interna) | Temperatura corporea internacore-body-temperature
|
| Riepilogo HRV | Variabilità del battito cardiaco giornalieradaily-heart-rate-variability
|
| Riepilogo SpO2 | Saturazione di ossigeno giornalieradaily-oxygen-saturation
|
| Battito cardiaco a riposo | Battito cardiaco a riposo giornalierodaily-resting-heart-rate
|
| Temperatura cutanea | Derivazioni della temperatura del sonno giornalieradaily-sleep-temperature-derivations
|
| Distanza | Distanzadistance
|
| Elettrocardiogramma (ECG) | Elettrocardiogramma (ECG)electrocardiogram
|
| Attività registrata | Esercizioexercise
|
| Piani | Pianifloors
|
| Cibo | Cibofood
|
| Cibo | Cibofood
|
| Unità di misura del cibo | Unità di misura del cibofood-measurement-unit
|
| Unità di misura del cibo | Unità di misura del cibofood-measurement-unit
|
| Battito cardiaco | Battito cardiacoheart-rate
|
| HRV intraday | Variabilità del battito cardiacoheart-rate-variability
|
| Notifiche di ritmo irregolare (IRN) | Notifica di ritmo irregolareirregular-rhythm-notification
|
| Diario alimentare | Diario alimentarenutrition-log
|
| Diario alimentare | Diario alimentarenutrition-log
|
| SpO2 intraday | Saturazione di ossigenooxygen-saturation
|
| Valore VO2 max quando l'utente corre | VO2 max corsarun-vo2-max
|
| Minuti della serie temporale di attività sedentaria | Periodo sedentariosedentary-period
|
| Sonno | Sonnosleep
|
| Passaggi | Passaggisteps
|
| Serie temporale di attività di bracciate | Dati sulle vascheswim-lengths-data
|
caloriesOut dell'attività |
Calorie totalitotal-calories
|
| Valore VO2 max | VO2 maxvo2-max
|
| Peso | Pesoweight
|
Endpoint
Gli endpoint REST adottano una sintassi coerente per tutti i tipi di dati.
- Endpoint di servizio: l'URL HTTP di base cambia in https://health.googleapis.com.
- Sintassi dell'endpoint: l'API Google Health supporta un numero limitato di endpoint, che possono essere utilizzati dalla maggior parte dei tipi di dati supportati. In questo modo, la sintassi è coerente per tutti i tipi di dati e gli endpoint sono più facili da utilizzare.
- Identificatore utente: nella sintassi dell' endpoint deve essere specificato l'ID utente o me. Quando utilizzi me, l'ID utente viene dedotto dal token di accesso.
Esempio: ecco un esempio dell'endpoint GET Profile chiamato utilizzando l' API Google Health
GET https://health.googleapis.com/v4/users/me/profile
Mappature degli endpoint
Consulta la tabella dei tipi di dati dell'API Google Health per un elenco dei tipi di dati disponibili e dei metodi API che supportano.
| Tipo di endpoint dell'API Fitbit Web | API Google Health |
| GET (Log | Summary | Daily Summary) in cui richiedi i dati di un singolo giorno | Metodo dailyRollup con windowSize = 1 giorno |
| GET (Intraday) in cui richiedi dati granulari | Metodo list |
| GET (Time Series) per data o intervallo | Metodo rollUp o dailyRollUp che include un intervallo di date |
| GET (Log List) | Metodo list |
| CREATE &UPDATE Logs | Metodo patch |
| DELETE Logs | Metodo batchDelete |
| GET Profile | users.getProfile restituisce le informazioni specifiche dell'utente
users.getSettings restituisce le unità e i fusi orari dell'utente |
| UPDATE Profile | users.updateProfile modifica le informazioni specifiche dell'utente
users.updateSettings modifica le unità e i fusi orari dell'utente |
| Get User ID | users.getIdentity restituisce l'ID utente legacy di Fitbit e Google dell'utente. |
| Get Devices | users.pairedDevices restituisce l'elenco dei dispositivi associati |
| Create Subscriptions | projects.subscribers.subscriptions.create crea manualmente un abbonamento |
| Delete Subscriptions | projects.subscribers.subscriptions.delete elimina un abbonamento |
| Get Subscriptions List | projects.subscribers.subscriptions.list elenca tutti gli abbonamenti |