Specyfikacje interfejsu API

Sekcja Specyfikacja interfejsu API zawiera szczegółowe informacje o komponentach technicznych niezbędnych do integracji z platformą, w tym zakresy autoryzacji, definicje typów danych i struktury punktów końcowych. Ten interfejs API to strategiczna ewolucja starszego interfejsu Fitbit Web API. Został on przebudowany na nowoczesnej infrastrukturze, aby zapewnić deweloperom większą stabilność i spójność.

Zakresy

Musisz zaktualizować prośbę o autoryzację, aby używać zakresów interfejsu Google Health API. Zakresy określają, czy aplikacja obsługuje operacje odczytu czy zapisu. Postępuj zgodnie z instrukcjami dotyczącymi wdrażania zakresów, które określają, że należy prosić tylko o niezbędne zakresy, konfigurować dostęp do zapisu tylko podczas wysyłania danych i prawidłowo obsługiwać częściową zgodę.

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

Mapowania zakresów

Zakresy interfejsu Fitbit Web API są powiązane z zakresami interfejsu Google Health API w ten sposób:

Tabela: Mapowanie zakresów interfejsu Fitbit Web API na interfejs Google Health API
Zakresy 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 sposób ich mapowania na interfejs Fitbit Web API.

Więcej informacji o tym, jak są raportowane dane dotyczące tych typów, znajdziesz w przewodniku po obecności danych i prawdziwych zerach. Ten przewodnik zawiera szczegółowe informacje o filtrach dotyczących braku aktywności i filtrach na zegarku.

Tabela: mapowanie typów danych z interfejsu Fitbit Web API na interfejs Google Health API
Typ danych Fitbit Web API Typ danych interfejsu Google Health API
  dataType
Kalorie z aktywności Spalone kalorie
  active-energy-burned
Aktywne minuty w strefie Aktywne minuty w strefie
  active-zone-minutes
Zawiera zmiany poziomów 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 ciała Temperatura ciała
  core-body-temperature
Podsumowanie HRV Codzienna 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 Codzienne wyliczenia temperatury snu
  daily-sleep-temperature-derivations
Odległość Dystans
  distance
Elektrokardiogram (EKG) Elektrokardiogram (EKG)
  electrocardiogram
Zarejestrowana aktywność Ćwiczenia
  exercise
Piętra Piętra
  floors
Jedzenie Jedzenie
  food
Jednostka miary jedzenia Jednostka miary żywności
  food-measurement-unit
tętno Tętno
  heart-rate
HRV Intraday 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 użytkownika Pułap tlenowy podczas biegu
  run-vo2-max
Szereg czasowy aktywności – minuty braku aktywności Okres braku aktywności
  sedentary-period
Sen Sen
  sleep
Kroki Kroki
  steps
Ciąg czasowy aktywności – ruchy podczas pływania Dane dotyczące długości pływania
  swim-lengths-data
Aktywność caloriesOut Wszystkie kalorie
  total-calories
Wartość pułapu tlenowego Maksymalny pułap tlenowy VO2
  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ę 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 mnie, identyfikator użytkownika jest wywnioskowany z tokena dostępu.

Przykład: poniżej znajdziesz przykład wywołania punktu końcowego GET Profile za pomocą interfejsu Google Health API.

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

Mapowania 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.

Fitbit Web API Endpoint Type (Typ punktu końcowego Fitbit Web API). Google Health API
GET (Log | Summary | Daily Summary), w którym żądasz danych z jednego dnia metoda dailyRollup z parametrem windowSize = 1 dzień.
GET (Intraday), jeśli prosisz o szczegółowe dane Metoda list
GET (Time Series) by Date or Interval metoda rollUp lub dailyRollUp z zakresem dat;
GET (Lista logów) Metoda list
Tworzenie i aktualizowanie logów Metoda patch
Usuwanie dzienników Metoda batchDelete
GET Profile users.getProfile zwraca konkretne informacje o użytkowniku;
users.getSettings zwraca jednostki i strefy czasowe użytkownika.
AKTUALIZACJA profilu users.updateProfile modyfikuje konkretne informacje o użytkowniku.
users.updateSettings modyfikuje jednostki i strefy czasowe użytkownika.
Pobieranie identyfikatora użytkownika users.getIdentity zwraca starszy identyfikator użytkownika Fitbita i identyfikator użytkownika Google.
Pobieranie urządzeń users.pairedDevices zwraca listę sparowanych urządzeń.
Tworzenie subskrypcji projects.subscribers.subscriptions.create ręcznie tworzy subskrypcję.
Usuwanie subskrypcji projects.subscribers.subscriptions.delete usuwanie subskrypcji
Pobieranie listy subskrypcji projects.subscribers.subscriptions.list wyświetla wszystkie subskrypcje.