Specifiche dell'API

La sezione Specifica API fornisce una panoramica dettagliata dei componenti tecnici essenziali per l'integrazione con la piattaforma, inclusi gli ambiti di autorizzazione, le definizioni dei tipi di dati e le strutture degli endpoint. Questa API rappresenta un'evoluzione strategica della precedente API web Fitbit, ricostruita su un'infrastruttura moderna per garantire un'esperienza per gli sviluppatori 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. Non utilizzare ambiti non necessari per la tua app. Puoi sempre aggiungere altri ambiti in un secondo momento se il design dell'app cambia.

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 corrispondono agli ambiti dell'API Google Health:

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

Di seguito è riportato un elenco dei tipi di dati dell'API Google Health e della loro mappatura all'API Fitbit Web.

Tabella: mappature dei tipi di dati dall'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 attiva
  active-energy-burned
Minuti in zona attiva Minuti in zona attiva
  active-zone-minutes
Contiene 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 del battito cardiaco Calorie nella zona battito cardiaco
  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 Allenamento
  exercise
Piani Piani
  floors
Cibo Cibo
  food
Unità di misura dell'alimento Unità di misura del cibo
  food-measurement-unit
Frequenza cardiaca Battito cardiaco
  heart-rate
HRV infragiornaliero Variabilità del battito cardiaco
  heart-rate-variability
Notifiche di ritmo irregolare (IRN) Notifica ritmo irregolare
  irregular-rhythm-notification
Diario alimentare Diario alimentare
  nutrition-log
SpO2 infragiornaliero Saturazione di ossigeno
  oxygen-saturation
Valore VO2 max quando l'utente corre VO2 max corsa
  run-vo2-max
Serie temporale di minuti di attività sedentaria Periodo sedentario
  sedentary-period
Sonno Sonno
  sleep
Passaggi Passaggi
  steps
Serie temporali dell'attività Bracciate Dati sulle vasche
  swim-lengths-data
Attività caloriesOut 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 viene fornita una sintassi coerente per tutti i tipi di dati e gli endpoint sono più facili da usare.
  • Identificatore utente: nella sintassi dell'endpoint deve essere specificato l'ID utente o me. Quando mi utilizzi, lo User-ID 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

Mapping degli endpoint

Consulta la tabella Tipi di dati dell'API Google Health per un elenco dei tipi di dati disponibili e dei metodi API che supportano.

Tipo di endpoint API Fitbit Web API Google Health
GET (Log | Summary | Daily Summary) in cui richiedi un singolo giorno di dati Metodo dailyRollup con windowSize = 1 giorno
GET (infragiornaliero) in cui richiedi dati granulari Metodo list
GET (Time Series) by Date or Interval Metodo rollUp o dailyRollUp che include un intervallo di date
GET (elenco log) Metodo list
CREARE E AGGIORNARE i log 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
AGGIORNA Profilo users.updateProfile modifica le informazioni specifiche dell'utente
users.updateSettings modifica le unità e i fusi orari dell'utente
Recuperare l'ID utente users.getIdentity restituisce l'ID utente legacy di Fitbit e Google dell'utente.
Get Devices users.pairedDevices restituisce l'elenco dei dispositivi accoppiati
Crea abbonamenti projects.subscribers.subscriptions.create crea manualmente una sottoscrizione
Eliminare gli abbonamenti projects.subscribers.subscriptions.delete elimina un abbonamento
Recupero elenco abbonamenti projects.subscribers.subscriptions.list elenca tutti gli abbonamenti