Specifiche dell'API

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:

Tabella: mappature degli ambiti dell'API Fitbit Web all'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.

Tabella: mappature dei tipi di dati dell'API Fitbit Web all'API Google Health
Tipo di dati dell'API Fitbit Web Tipo di dati dell'API Google Health
  dataType
Calorie attività Energia bruciata in fase di attività
  active-energy-burned
Minuti in zona attiva Minuti in zona attiva
  active-zone-minutes
Contiene le modifiche ai livelli di attività dell'utente Livello di attività
  activity-level
Elevazione Altitudine
  altitude
Glicemia Glicemia
  blood-glucose
Grasso corporeo Grasso corporeo
  body-fat
caloriesOut in ogni zona cardio Calorie nella zona cardio
  calories-in-heart-rate-zone
Temperatura (interna) Temperatura corporea interna
  core-body-temperature
Riepilogo HRV Variabilità del battito cardiaco giornaliera
  daily-heart-rate-variability
Riepilogo SpO2 Saturazione di ossigeno giornaliera
  daily-oxygen-saturation
Battito cardiaco a riposo Battito cardiaco a riposo giornaliero
  daily-resting-heart-rate
Temperatura cutanea Derivazioni della temperatura del sonno giornaliera
  daily-sleep-temperature-derivations
Distanza Distanza
  distance
Elettrocardiogramma (ECG) Elettrocardiogramma (ECG)
  electrocardiogram
Attività registrata Esercizio
  exercise
Piani Piani
  floors
Cibo Cibo
  food
Cibo Cibo
  food
Unità di misura del cibo Unità di misura del cibo
  food-measurement-unit
Unità di misura del cibo Unità di misura del cibo
  food-measurement-unit
Battito cardiaco Battito cardiaco
  heart-rate
HRV intraday Variabilità del battito cardiaco
  heart-rate-variability
Notifiche di ritmo irregolare (IRN) Notifica di ritmo irregolare
  irregular-rhythm-notification
Diario alimentare Diario alimentare
  nutrition-log
Diario alimentare Diario alimentare
  nutrition-log
SpO2 intraday Saturazione di ossigeno
  oxygen-saturation
Valore VO2 max quando l'utente corre VO2 max corsa
  run-vo2-max
Minuti della serie temporale di attività sedentaria Periodo sedentario
  sedentary-period
Sonno Sonno
  sleep
Passaggi Passaggi
  steps
Serie temporale di attività di bracciate Dati sulle vasche
  swim-lengths-data
caloriesOut dell'attività Calorie totali
  total-calories
Valore VO2 max VO2 max
  vo2-max
Peso Peso
  weight

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