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:
| 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.
| Typ danych interfejsu Fitbit Web API | Typ danych interfejsu Google Health APIdataType |
|---|---|
| Kalorie z aktywności | Spalone kalorie podczas aktywnościactive-energy-burned
|
| Aktywne minuty w strefie | Aktywne minuty w strefieactive-zone-minutes
|
| Zawiera zmiany w poziomach 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 (głęboka) | Temperatura ciałacore-body-temperature
|
| Podsumowanie HRV | Dzienna 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 | Dzienne pochodne temperatury podczas snudaily-sleep-temperature-derivations
|
| Odległość | Odległośćdistance
|
| Elektrokardiogram (EKG) | Elektrokardiogram (EKG)electrocardiogram
|
| Włączono nagrywanie | Ćwiczenieexercise
|
| Piętra | Piętrafloors
|
| Jedzenie | Jedzeniefood
|
| Jedzenie | Jedzeniefood
|
| Jednostka miary jedzenia | Jednostka miary jedzeniafood-measurement-unit
|
| Jednostka miary jedzenia | Jednostka miary jedzeniafood-measurement-unit
|
| Tętno | Tętnoheart-rate
|
| HRV w ciągu dnia | Zmienność rytmu sercaheart-rate-variability
|
| Powiadomienia o nieregularnym rytmie serca (IRN) | Powiadomienie o nieregularnym rytmie sercairregular-rhythm-notification
|
| Zapisywanie jedzenia | Dziennik odżywianianutrition-log
|
| Zapisywanie jedzenia | Dziennik odżywianianutrition-log
|
| SpO2 w ciągu dnia | Nasycenie tlenemoxygen-saturation
|
| Wartość pułapu tlenowego, gdy użytkownik biegnie | Pułap tlenowy podczas biegurun-vo2-max
|
| Aktywność – szereg czasowy – minuty w pozycji siedzącej | Okres braku aktywnościsedentary-period
|
| Sen | Sensleep
|
| Kroki | Krokisteps
|
| Aktywność – szereg czasowy – ruchy pływackie | Dane o długościach pływaniaswim-lengths-data
|
Aktywność caloriesOut |
Wszystkie kalorietotal-calories
|
| Wartość pułapu tlenowego | Pułap tlenowyvo2-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ę 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. |