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. Został on przebudowany na nowoczesnej infrastrukturze, aby zapewnić deweloperom bardziej stabilne i spójne środowisko pracy.

Zakresy

Aby korzystać z zakresów interfejsu Google Health API, musisz zaktualizować prośbę o autoryzację. Zakresy określają, czy Twoja aplikacja obsługuje operacje odczytu czy zapisu. Postępuj zgodnie z instrukcjami dotyczącymi implementacji zakresów, które określają, że należy prosić tylko o potrzebne 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 zaczynają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

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

Tabela: mapowania 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.

Więcej informacji o tym, jak są raportowane dane tych typów, znajdziesz w przewodniku Obecność danych i prawdziwe zera. Ten przewodnik zawiera szczegółowe informacje o braku aktywności i filtrowaniu na nadgarstku.

Tabela: mapowania 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 (głęboka) 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 podczas 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
Jedzenie Jedzenie
  food
Jednostka miary jedzenia Jednostka miary jedzenia
  food-measurement-unit
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
Zapisywanie jedzenia Dziennik odżywiania
  nutrition-log
SpO2 w ciągu dnia Nasycenie tlenem
  oxygen-saturation
Wartość pułapu tlenowego, gdy użytkownik biegnie 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 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.

Typ punktu końcowego interfejsu Fitbit Web API Interfejs Google Health API
GET (Log | Summary | Daily Summary), gdy prosisz o dane z jednego dnia Metoda dailyRollup z windowSize = 1 dzień
GET (Intraday), gdy prosisz o szczegółowe dane Metoda list
GET (Time Series) według daty lub przedziału Metoda rollUp lub dailyRollUp z zakresem dat
GET (Log List) Metoda list
Tworzenie i aktualizowanie logów Metoda patch
Usuwanie logów Metoda batchDelete
GET Profile users.getProfile zwraca konkretne informacje o użytkowniku
users.getSettings zwraca jednostki i strefy czasowe użytkownika
Uaktualnij profil 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 użytkownika.
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 usuwa subskrypcję.
Pobieranie listy subskrypcji projects.subscribers.subscriptions.list wyświetla wszystkie subskrypcje.