API Spesifikasyonu bölümünde, yetkilendirme kapsamları, veri türü tanımları ve uç nokta yapıları dahil olmak üzere platformla entegrasyon için gerekli olan teknik bileşenlere ilişkin ayrıntılı bir genel bakış sunulur. Bu API, daha istikrarlı ve tutarlı bir geliştirici deneyimi sağlamak için modern altyapı üzerinde yeniden oluşturulan eski Fitbit Web API'sinin stratejik bir evrimini temsil eder.
Kapsamlar
Google Health API kapsamlarını kullanmak için yetkilendirme isteğinizi güncellemeniz gerekir. Kapsamlar, uygulamanızın okuma veya yazma işlemlerini destekleyip desteklemediğini tanımlar. Uygulamanız için gerekli olmayan kapsamları kullanmayın. Uygulamanızın tasarımı değişirse daha sonra istediğiniz zaman kapsam ekleyebilirsiniz.
Google Health API kapsamları, https://www.googleapis.com/auth/googlehealth.{scope} ile başlayan bir HTTP URL'sidir. Örneğin, https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly.
Kapsam eşlemeleri
Fitbit Web API kapsamlarının Google Health API kapsamlarıyla eşleşme şekli aşağıda verilmiştir:
| Fitbit Web API Kapsamları | Google Health API Kapsamları |
|---|---|
| etkinlik | .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 |
| elektrokardiyogram | .ecg.readonly
|
| heartrate | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| irregular_rhythm_notifications | .irn.readonly
|
| konum | .location.readonly
|
| beslenme | .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 |
| ayarlar | .settings.readonly
.settings.writeonly |
| uyku | .sleep.readonly
.sleep.writeonly |
| sıcaklık | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| ağırlık | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
Veri türleri
Google Health API veri türlerinin ve bunların Fitbit Web API'si ile nasıl eşlendiğinin listesini aşağıda bulabilirsiniz.
| Fitbit Web API Veri Türü | Google Health API Veri TürüdataType |
|---|---|
| Etkinlik Kalorileri | Yakılan aktif enerjiactive-energy-burned
|
| Aktif Bölge Dakikası | Aktif Bölge Dakikasıactive-zone-minutes
|
| Kullanıcının etkinlik düzeylerindeki değişiklikleri içerir. | Etkinlik Düzeyiactivity-level
|
| Rakım | Yükseklikaltitude
|
| Kan Şekeri | Kan Şekeriblood-glucose
|
| Vücut yağ yüzdesi | Vücut Yağıbody-fat
|
Her nabız bölgesinde caloriesOut |
Kalp Atış Hızı Bölgesindeki Kalori Miktarıcalories-in-heart-rate-zone
|
| Sıcaklık (Çekirdek) | Vücut sıcaklığıcore-body-temperature
|
| HRV özeti | Günlük Nabız Değişkenliğidaily-heart-rate-variability
|
| SpO2 özeti | Günlük oksijen doygunluğudaily-oxygen-saturation
|
| Dinlenme nabzı | Günlük Dinlenme Nabzıdaily-resting-heart-rate
|
| Deri sıcaklığı | Günlük Uyku Sıcaklığı Türetmeleridaily-sleep-temperature-derivations
|
| Mesafe | Mesafedistance
|
| Elektrokardiyogram (EKG) | Elektrokardiyogram (EKG)electrocardiogram
|
| Kayıt etkinliği | Egzersizexercise
|
| Döşeme | Katlarfloors
|
| Yiyecekler | Yiyecekfood
|
| Yemek Ölçü Birimi | Yemek Ölçü Birimifood-measurement-unit
|
| Nabız | Kalp Atış Hızıheart-rate
|
| HRV Intraday | Nabız değişkenliğiheart-rate-variability
|
| Düzensiz Kalp Ritmi Bildirimleri (DKRB) | Düzensiz Kalp Ritmi Bildirimiirregular-rhythm-notification
|
| Yemek Günlüğü | Beslenme Günlüğünutrition-log
|
| SpO2 Gün İçi | Oksijen Doygunluğuoxygen-saturation
|
| Kullanıcı koşarken VO2 maks değeri | Maksimum oksijen tüketimi koşusurun-vo2-max
|
| Aktivite zaman serisi, dakikalar, hareketsiz | Hareketsiz Kalma Süresisedentary-period
|
| Uyku | Uykusleep
|
| Adımlar | Adımlarsteps
|
| Yüzme sırasındaki kulaçların etkinlik zaman serisi | Yüzme Uzunluğu Verileriswim-lengths-data
|
Etkinlik caloriesOut |
Toplam Kaloritotal-calories
|
| Maksimum oksijen tüketimi değeri | VO2 Maksvo2-max
|
| Ağırlık | Ağırlıkweight
|
Uç noktalar
REST uç noktaları, tüm veri türleri için tutarlı bir söz dizimi kullanır.
- Hizmet Uç Noktası: Temel HTTP URL'si https://health.googleapis.com olarak değişir.
- Uç nokta söz dizimi: Google Health API, desteklenen veri türlerinin çoğu tarafından kullanılabilen sınırlı sayıda uç noktayı destekler. Bu, tüm veri türleri için tutarlı bir söz dizimi sağlar ve uç noktaların kullanılmasını kolaylaştırır.
- Kullanıcı tanımlayıcısı: Uç nokta söz diziminde kullanıcı kimliği veya ben belirtilmelidir. Kullanıcı beni kullanırken kullanıcı kimliği, erişim jetonundan çıkarılır.
Örnek: Google Health API kullanılarak çağrılan GET Profile uç noktası örneğini aşağıda bulabilirsiniz.
GET https://health.googleapis.com/v4/users/me/profile
Uç nokta eşlemeleri
Kullanılabilir veri türlerinin ve destekledikleri API yöntemlerinin listesi için Google Health API veri türleri tablosuna bakın.
| Fitbit Web API Uç Nokta Türü | Google Health API |
| Tek bir günlük veri istediğiniz GET (Log | Summary | Daily Summary) | windowSize = 1 gün olan dailyRollup yöntemi |
| Ayrıntılı veriler istediğiniz GET (gün içi) | list yöntemi |
| Tarihe veya aralığa göre GET (zaman serisi) | Tarih aralığı içeren rollUp veya dailyRollUp yöntemi |
| GET (Günlük Listesi) | list yöntemi |
| Günlük oluşturma ve güncelleme | patch yöntemi |
| Günlükleri SİL | batchDelete yöntemi |
| GET Profile | users.getProfile, kullanıcının belirli bilgilerini döndürür.
users.getSettings, kullanıcının birimlerini ve saat dilimlerini döndürür. |
| Profili GÜNCELLEME | users.updateProfile, kullanıcının belirli bilgilerini değiştirir.
users.updateSettings, kullanıcının birimlerini ve saat dilimlerini değiştirir. |
| Kullanıcı kimliğini alma | users.getIdentity, kullanıcının eski Fitbit ve Google kullanıcı kimliğini döndürür. |
| Cihazları alma | users.pairedDevices, eşlenen cihazların listesini döndürür. |
| Abonelik oluşturma | projects.subscribers.subscriptions.create, aboneliği manuel olarak oluşturur. |
| Abonelikleri silme | projects.subscribers.subscriptions.delete: Aboneliği silme |
| Abonelik Listesini Alma | projects.subscribers.subscriptions.list, tüm abonelikleri listeler. |