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:
| 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.
| Typ danych Fitbit Web API | Typ danych interfejsu Google Health APIdataType |
|---|---|
| Kalorie z aktywności | Spalone kalorieactive-energy-burned
|
| Aktywne minuty w strefie | Aktywne minuty w strefieactive-zone-minutes
|
| Zawiera zmiany poziomów aktywności użytkownika. | Poziom aktywnościactivity-level
|
| Wysokość | Wysokośćaltitude
|
| Glukoza we krwi | Glukoza we krwiblood-glucose
|
| Tkanka tłuszczowa | Tkanka tłuszczowabody-fat
|
caloriesOut w każdej strefie tętna |
Kalorie w strefie tętnacalories-in-heart-rate-zone
|
| Temperatura ciała | Temperatura ciałacore-body-temperature
|
| Podsumowanie HRV | Codzienna zmienność rytmu sercadaily-heart-rate-variability
|
| Podsumowanie SpO2 | Dzienne nasycenie tlenemdaily-oxygen-saturation
|
| Tętno spoczynkowe | Dzienne tętno spoczynkowedaily-resting-heart-rate
|
| Temperatura skóry | Codzienne wyliczenia temperatury snudaily-sleep-temperature-derivations
|
| Odległość | Dystansdistance
|
| Elektrokardiogram (EKG) | Elektrokardiogram (EKG)electrocardiogram
|
| Zarejestrowana aktywność | Ćwiczeniaexercise
|
| Piętra | Piętrafloors
|
| Jedzenie | Jedzeniefood
|
| Jednostka miary jedzenia | Jednostka miary żywnościfood-measurement-unit
|
| tętno | Tętnoheart-rate
|
| HRV Intraday | Zmienność rytmu sercaheart-rate-variability
|
| Powiadomienia o nieregularnym rytmie serca (IRN) | Powiadomienie o nieregularnym rytmie sercairregular-rhythm-notification
|
| Zapisywanie jedzenia | Dziennik odżywianianutrition-log
|
| SpO2 w ciągu dnia | Nasycenie tlenemoxygen-saturation
|
| Wartość pułapu tlenowego podczas biegu użytkownika | Pułap tlenowy podczas biegurun-vo2-max
|
| Szereg czasowy aktywności – minuty braku aktywności | Okres braku aktywnościsedentary-period
|
| Sen | Sensleep
|
| Kroki | Krokisteps
|
| Ciąg czasowy aktywności – ruchy podczas pływania | Dane dotyczące długości pływaniaswim-lengths-data
|
Aktywność caloriesOut |
Wszystkie kalorietotal-calories
|
| Wartość pułapu tlenowego | Maksymalny pułap tlenowy VO2vo2-max
|
| Waga | Wagaweight
|
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. |