Specyfikacje interfejsu API

Sekcja Specyfikacja interfejsu API zawiera szczegółowe omówienie komponentów technicznych niezbędnych do integracji z platformą, w tym zakresów autoryzacji, definicji typów danych i struktur punktów końcowych. Ten interfejs API stanowi strategiczną ewolucję starszego interfejsu Fitbit Web API, który został przebudowany na nowoczesnej infrastrukturze, aby zapewnić deweloperom bardziej stabilne i spójne środowisko.

Zakresy

Aby korzystać z zakresów interfejsu Google Health API, musisz zaktualizować żądanie autoryzacji. Zakresy określają, czy Twoja aplikacja obsługuje operacje odczytu czy zapisu. Nie używaj zakresów, które nie są potrzebne Twojej aplikacji. Jeśli projekt aplikacji się zmieni, zawsze możesz dodać więcej zakresów.

Zakresy interfejsu Google Health API to adresy URL HTTP zaczynające się od https://www.googleapis.com/auth/googlehealth.{scope}. Na przykład https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly.

Mapowanie zakresów

Oto jak zakresy interfejsu Fitbit Web API są mapowane na zakresy interfejsu Google Health API:

Tabela: mapowanie zakresów interfejsu Fitbit Web API na zakresy interfejsu Google Health API
Zakresy interfejsu Fitbit Web API Zakresy interfejsu Google Health API
aktywność .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
elektrokardiogram .ecg.readonly
tętno .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
irregular_rhythm_notifications .irn.readonly
lokalizacja .location.readonly
żywienie .nutrition.readonly
.nutrition.writeonly
oxygen_saturation .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
profil .profile.readonly
.profile.writeonly
respiratory_rate .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
ustawienia .settings.readonly
.settings.writeonly
sen .sleep.readonly
.sleep.writeonly
temperatura .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
waga .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly

Typy danych

Oto lista typów danych interfejsu Google Health API i ich mapowanie na interfejs Fitbit Web API.

Tabela: mapowanie typów danych interfejsu Fitbit Web API na typy danych interfejsu Google Health API
Typ danych interfejsu Fitbit Web API Typ danych interfejsu Google Health API
  dataType
Kalorie z aktywności Spalone kalorie podczas aktywności
  active-energy-burned
Aktywne minuty w strefie Aktywne minuty w strefie
  active-zone-minutes
Zawiera zmiany w poziomach aktywności użytkownika Poziom aktywności
  activity-level
Wysokość Wysokość
  altitude
Glukoza we krwi Glukoza we krwi
  blood-glucose
Tkanka tłuszczowa Tkanka tłuszczowa
  body-fat
caloriesOut w każdej strefie tętna Kalorie w strefie tętna
  calories-in-heart-rate-zone
Temperatura (rdzeń) Temperatura ciała
  core-body-temperature
Podsumowanie HRV Dzienna zmienność rytmu serca
  daily-heart-rate-variability
Podsumowanie SpO2 Dzienne nasycenie tlenem
  daily-oxygen-saturation
Tętno spoczynkowe Dzienne tętno spoczynkowe
  daily-resting-heart-rate
Temperatura skóry Dzienne pochodne temperatury snu
  daily-sleep-temperature-derivations
Odległość Odległość
  distance
Elektrokardiogram (EKG) Elektrokardiogram (EKG)
  electrocardiogram
Włączono nagrywanie Ćwiczenie
  exercise
Piętra Piętra
  floors
Jedzenie Jedzenie
  food
Jednostka miary jedzenia Jednostka miary jedzenia
  food-measurement-unit
Tętno Tętno
  heart-rate
HRV w ciągu dnia Zmienność rytmu serca
  heart-rate-variability
Powiadomienia o nieregularnym rytmie serca (IRN) Powiadomienie o nieregularnym rytmie serca
  irregular-rhythm-notification
Zapisywanie jedzenia Dziennik odżywiania
  nutrition-log
SpO2 w ciągu dnia Nasycenie tlenem
  oxygen-saturation
Wartość pułapu tlenowego podczas biegu Pułap tlenowy podczas biegu
  run-vo2-max
Aktywność – szereg czasowy – minuty w pozycji siedzącej Okres braku aktywności
  sedentary-period
Sen Sen
  sleep
Kroki Kroki
  steps
Aktywność – szereg czasowy – ruchy pływackie Dane o długościach pływania
  swim-lengths-data
Aktywność caloriesOut Wszystkie kalorie
  total-calories
Wartość pułapu tlenowego Pułap tlenowy
  vo2-max
Waga Waga
  weight

Punkty końcowe

Punkty końcowe REST mają spójną składnię dla wszystkich typów danych.

  • Punkt końcowy usługi: podstawowy adres URL HTTP zmienia się na https://health.googleapis.com.
  • Składnia punktu końcowego: interfejs Google Health API obsługuje ograniczoną liczbę punktów końcowych, których można używać w przypadku większości obsługiwanych typów danych. Zapewnia to spójną składnię dla wszystkich typów danych i ułatwia korzystanie z punktów końcowych.
  • Identyfikator użytkownika: w składni punktu końcowego należy podać identyfikator użytkownika lub me. Gdy używasz me, identyfikator użytkownika jest wywnioskowany z tokena dostępu.

Przykład: oto przykład punktu końcowego GET Profile wywoływanego za pomocą interfejsu Google Health API.

GET https://health.googleapis.com/v4/users/me/profile

Mapowanie punktów końcowych

Listę dostępnych typów danych i obsługiwanych przez nie metod interfejsu API znajdziesz w tabeli typów danych interfejsu Google Health API.

Typ punktu końcowego interfejsu Fitbit Web API Interfejs Google Health API
GET (Log | Summary | Daily Summary), gdy żądasz danych z jednego dnia Metoda dailyRollup z windowSize = 1 dzień
GET (Intraday), gdy żądasz szczegółowych danych Metoda list
GET (Time Series) według daty lub przedziału Metoda rollUp lub dailyRollUp z zakresem dat
GET (Log List) Metoda list
CREATE &UPDATE Logs Metoda patch
DELETE Logs Metoda batchDelete
GET Profile users.getProfile zwraca konkretne informacje o użytkowniku
users.getSettings zwraca jednostki i strefy czasowe użytkownika
UPDATE Profile users.updateProfile modyfikuje konkretne informacje o użytkowniku
users.updateSettings modyfikuje jednostki i strefy czasowe użytkownika
Get User ID users.getIdentity zwraca starszy identyfikator użytkownika Fitbita i identyfikator użytkownika Google użytkownika.
Get Devices users.pairedDevices zwraca listę sparowanych urządzeń
Create Subscriptions projects.subscribers.subscriptions.create ręcznie tworzy subskrypcję
Delete Subscriptions projects.subscribers.subscriptions.delete usuwa subskrypcję
Get Subscriptions List projects.subscribers.subscriptions.list wyświetla wszystkie subskrypcje