Poniższa tabela zawiera pełną listę typów danych z kilkoma kolumnami, które pomogą Ci zrozumieć reprezentację każdego typu w interfejsie Google Health API, a także zakres, w jakim jest on dostępny.
Typ danychdataType
filter parameter |
Record type |
Dostępne operacje |
Zakres | Webhook support |
Obsługa wartości zerowych |
|---|---|---|---|---|---|
Spalone kalorie podczas aktywności
active-energy-burnedactive_energy_burned
|
Interwał | list, reconcile, rollup, dailyRollup | activity_and_fitness | ||
Aktywne minuty
active-minutesactive_minutes
|
Interwał | list, reconcile, rollup, dailyRollup | activity_and_fitness | ||
Aktywne minuty w strefie
active-zone-minutesactive_zone_minutes
|
Interwał | list, reconcile, rollup, dailyRollup | activity_and_fitness | ||
Poziom aktywności
activity-levelactivity_level
|
Interwał | lista, uzgadnianie | activity_and_fitness | ||
Wysokość
altitudealtitude
|
Interwał | list, reconcile, rollup, dailyRollup | activity_and_fitness | ||
Glukoza we krwi
blood-glucoseblood_glucose
|
Przykład | list, get, reconcile, rollup, dailyRollup | health_metrics_and_measurements | ||
Tkanka tłuszczowa
body-fatbody_fat
|
Przykład | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | health_metrics_and_measurements | ||
Kalorie w strefie tętna
calories-in-heart-rate-zonecalories_in_heart_rate_zone
|
Interwał | rollup, dailyRollup | activity_and_fitness | ||
Temperatura ciała
core-body-temperaturecore_body_temperature
|
Przykład | list, get, reconcile, rollup, dailyRollup | health_metrics_and_measurements | ||
Codzienna zmienność rytmu serca
daily-heart-rate-variabilitydaily_heart_rate_variability
|
Codziennie | lista, uzgadnianie | health_metrics_and_measurements | ||
Dzienne strefy tętna
daily-heart-rate-zonesdaily_heart_rate_zones
|
Codziennie | lista, uzgadnianie | health_metrics_and_measurements | ||
Codzienne nasycenie tlenem
daily-oxygen-saturationdaily_oxygen_saturation
|
Codziennie | lista, uzgadnianie | health_metrics_and_measurements | ||
Dzienna częstość oddechów
daily-respiratory-ratedaily_respiratory_rate
|
Codziennie | lista, uzgadnianie | health_metrics_and_measurements | ||
Dzienne tętno spoczynkowe
daily-resting-heart-ratedaily_resting_heart_rate
|
Codziennie | lista, uzgadnianie | health_metrics_and_measurements | ||
Codzienne wyliczenia temperatury snu
daily-sleep-temperature-derivationsdaily_sleep_temperature_derivations
|
Codziennie | lista, uzgadnianie | health_metrics_and_measurements | ||
Dzienny pułap tlenowy
daily-vo2-maxdaily_vo2_max
|
Codziennie | lista, uzgadnianie | activity_and_fitness | ||
Odległość
distancedistance
|
Interwał | list, reconcile, rollup, dailyRollup | activity_and_fitness | ||
Elektrokardiogram (EKG)
electrocardiogramelectrocardiogram
|
Sesja | lista | ecg | ||
Ćwiczenia
exerciseexercise
|
Sesja | list, get, reconcile, create, update, batchDelete | activity_and_fitness | ||
Piętra
floorsfloors
|
Interwał | reconcile, rollup, dailyRollup | activity_and_fitness | ||
Jedzenie
foodfood
|
Jedzenie | list, get | nutrition | ||
Jednostka miary żywności
food-measurement-unitfood_measurement_unit
|
Jedzenie | list, get | nutrition | ||
Tętno
heart-rateheart_rate
|
Przykład | list, reconcile, rollup, dailyRollup | health_metrics_and_measurements | ||
Zmienność rytmu serca
heart-rate-variabilityheart_rate_variability
|
Przykład | lista, uzgadnianie | health_metrics_and_measurements | ||
Wysokość
heightheight
|
Przykład | list, get, reconcile, create, update, batchDelete | health_metrics_and_measurements | ||
Zapis nawodnienia
hydration-loghydration_log
|
Sesja | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | nutrition | ||
Powiadomienie o nieregularnym rytmie serca
irregular-rhythm-notificationirregular_rhythm_notification
|
Sesja | lista | irn | ||
Dziennik odżywiania
nutrition-lognutrition_log
|
Przykład | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | nutrition | ||
Nasycenie tlenem
oxygen-saturationoxygen_saturation
|
Przykład | lista, uzgadnianie | health_metrics_and_measurements | ||
Podsumowanie snu dotyczące częstości oddechów
respiratory-rate-sleep-summaryrespiratory_rate_sleep_summary
|
Przykład | lista, uzgadnianie | health_metrics_and_measurements | ||
Pułap tlenowy podczas biegu
run-vo2-maxrun_vo2_max
|
Przykład | list, reconcile, rollup, dailyRollup | activity_and_fitness | ||
Okres bezruchu
sedentary-periodsedentary_period
|
Interwał | list, reconcile, rollup, dailyRollup | activity_and_fitness | ||
Sen
sleepsleep
|
Sesja | list, get, reconcile, create, update, batchDelete | sleep | ||
Kroki
stepssteps
|
Interwał | list, reconcile, rollup, dailyRollup | activity_and_fitness | ||
Dane o długościach pływania
swim-lengths-dataswim_lengths_data
|
Interwał | list, reconcile, rollup, dailyRollup | activity_and_fitness | ||
Czas w strefie tętna
time-in-heart-rate-zonetime_in_heart_rate_zone
|
Interwał | list, reconcile, rollup, dailyRollup | activity_and_fitness | ||
Wszystkie kalorie
total-caloriestotal_calories
|
Interwał | rollup, dailyRollup | activity_and_fitness | ||
Maksymalny pułap tlenowy VO2
vo2-maxvo2_max
|
Przykład | lista, uzgadnianie | activity_and_fitness | ||
Waga
weightweight
|
Przykład | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | health_metrics_and_measurements |
Ograniczenia zapytań
Podczas wysyłania zapytań do interfejsu API o punkty danych, zbiorcze dane lub dzienne zbiorcze dane pamiętaj o tych ograniczeniach:
- Wymagania dotyczące filtra: niektóre typy danych pochodnych tylko do odczytu, np.
total-calories, wymagają filtra określającego czas rozpoczęcia interwału (z użyciem czasu fizycznego lub cywilnego). - Limity zakresu zapytań: maksymalny zakres zapytań w przypadku
calories-in-heart-rate-zone,heart-rate,active-minutesitotal-calorieswynosi 14 dni. Maksymalny zakres zapytań w przypadku wszystkich innych typów danych wynosi 90 dni.
Dostępność danych
Aktualizacje danych użytkownika są dostępne dopiero po zsynchronizowaniu przez niego trackera aktywności lub ręcznym wprowadzeniu nowych danych w aplikacji mobilnej lub internetowej Fitbit. Urządzenie Fitbit i aplikacja mobilna Fitbit mogą automatycznie synchronizować dane co 15 minut, gdy aplikacja Fitbit jest otwarta na urządzeniu mobilnym, a oba urządzenia mają aktywne połączenie do transmisji danych i znajdują się w zasięgu Bluetooth. Jeśli użytkownik śledzi aktywność za pomocą MobileTrack, synchronizacja MobileTrack odbywa się co godzinę, o ile aplikacja jest otwarta.
Pobieranie danych historycznych
Jedną z głównych korzyści interfejsu Google Health API jest możliwość śledzenia wyników użytkownika i monitorowania jego parametrów życiowych przez długi czas. Możesz wysyłać zapytania o dane użytkownika z dowolnego okresu, w którym były one rejestrowane. Interfejs API nie nakłada żadnych ograniczeń na ilość danych historycznych, które może wykorzystywać Twoja aplikacja.
Wykonywanie zapytań dotyczących danych historycznych podlega jednak standardowym limitom częstotliwości. Aby zmniejszyć liczbę wywołań interfejsu API w stosunku do tych limitów, interfejs Google Health API obsługuje wysyłanie zapytań o dane w określonym zakresie dat. Pamiętaj o tych ograniczeniach dotyczących paginacji i żądania:
- Każdy punkt końcowy zwraca maksymalny rozmiar strony wynoszący 10 tys. punktów danych na stronę.
- Zakresy dat zapytań są ograniczone do 14–90 dni na żądanie.
W zależności od ilości danych historycznych potrzebnych aplikacji pobranie całego zbioru danych może wymagać kilku kolejnych żądań i zająć więcej czasu. Pamiętaj o tym podczas projektowania procesu synchronizacji danych w aplikacji.
Dostęp aplikacji zewnętrznych
Urządzenia Fitbit nie mogą komunikować się bezpośrednio z aplikacjami ani usługami innych firm. Te urządzenia są przeznaczone do komunikacji i synchronizacji wyłącznie z aplikacją mobilną Fitbit.
Urządzenie synchronizuje dane automatycznie przez cały dzień, gdy aplikacja Fitbit jest otwarta, lub co 15 minut, jeśli Bluetooth jest aktywny, a aplikacja działa w tle. Po zakończeniu procesu synchronizacji dane są udostępniane usługom innych firm za pomocą interfejsu Google Health API.
Standardy odległości
Odległości ćwiczeń, np. elevationGainMillimeters, są mierzone w milimetrach jako standardowej jednostce z tych powodów:
- Zachowanie precyzji danych: najważniejszym powodem używania milimetrów jest zapewnienie, że nie utracimy precyzji danych, które odczytujemy i udostępniamy. Używanie precyzyjnej jednostki, takiej jak milimetry, pozwala nam przedstawiać pomiary z dużą dokładnością.
- Standaryzacja: milimetry są standardową jednostką miary w naszych usługach. Ta spójność zapewnia deweloperom jednolite wrażenia podczas korzystania z różnych części interfejsu API.
- Szerokie wsparcie dla systemów pomiarowych: używanie jednostki podstawowej, takiej jak milimetry, ułatwia deweloperom przeliczanie na dowolną inną wybraną jednostkę, niezależnie od tego, czy pracują z systemem metrycznym, imperialnym czy innym systemem pomiarowym.
Zmienna długość dnia
Interfejs Health API traktuje czas priorytetowo, aby uwzględniać czas użytkownika i zmienną długość dnia spowodowaną zmianą czasu lub podróżą. Każdy punkt danych jest przechowywany z fizyczną sygnaturą czasową UTC i przesunięciem względem czasu UTC aktywnym w momencie zdarzenia. Dzięki temu system może:
- Przypisz zdarzenie do dokładnego momentu w czasie.
- Skoryguj czas do lokalnego kontekstu użytkownika na potrzeby agregacji.
Czas letni
Gdy następuje zmiana czasu na zimowy, dzień kalendarzowy trwa 25 godzin, a podsumowanie za ten dzień zawiera dane z 25 godzin. „Przesunięcie czasu do przodu” powoduje, że dzień trwa 23 godziny, a czas wraca do czasu standardowego.
Podróże
Podróżowanie między strefami czasowymi może powodować jeszcze większe różnice w fizycznym czasie trwania jednego dnia kalendarzowego.
Użyj punktu końcowego dailyRollUp, aby uwzględnić różnice w strefach czasowych. Automatycznie przypisuje dane do dnia kalendarzowego, w którym zostały zarejestrowane, zgodnie z czasem lokalnym użytkownika, skutecznie „łącząc” dzień pomimo zmian stref czasowych.