API spesifikasyonları

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:

Tablo: Fitbit Web API'den Google Health API kapsam eşlemeleri
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.

Tablo: Fitbit Web API'den Google Health API'ye veri türü eşlemeleri
Fitbit Web API Veri Türü Google Health API Veri Türü
  dataType
Etkinlik Kalorileri Yakılan aktif enerji
  active-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üzeyi
  activity-level
Rakım Yükseklik
  altitude
Kan Şekeri Kan Şekeri
  blood-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ği
  daily-heart-rate-variability
SpO2 özeti Günlük oksijen doygunluğu
  daily-oxygen-saturation
Dinlenme nabzı Günlük Dinlenme Nabzı
  daily-resting-heart-rate
Deri sıcaklığı Günlük Uyku Sıcaklığı Türetmeleri
  daily-sleep-temperature-derivations
Mesafe Mesafe
  distance
Elektrokardiyogram (EKG) Elektrokardiyogram (EKG)
  electrocardiogram
Kayıt etkinliği Egzersiz
  exercise
Döşeme Katlar
  floors
Yiyecekler Yiyecek
  food
Yemek Ölçü Birimi Yemek Ölçü Birimi
  food-measurement-unit
Nabız Kalp Atış Hızı
  heart-rate
HRV Intraday Nabız değişkenliği
  heart-rate-variability
Düzensiz Kalp Ritmi Bildirimleri (DKRB) Düzensiz Kalp Ritmi Bildirimi
  irregular-rhythm-notification
Yemek Günlüğü Beslenme Günlüğü
  nutrition-log
SpO2 Gün İçi Oksijen Doygunluğu
  oxygen-saturation
Kullanıcı koşarken VO2 maks değeri Maksimum oksijen tüketimi koşusu
  run-vo2-max
Aktivite zaman serisi, dakikalar, hareketsiz Hareketsiz Kalma Süresi
  sedentary-period
Uyku Uyku
  sleep
Adımlar Adımlar
  steps
Yüzme sırasındaki kulaçların etkinlik zaman serisi Yüzme Uzunluğu Verileri
  swim-lengths-data
Etkinlik caloriesOut Toplam Kalori
  total-calories
Maksimum oksijen tüketimi değeri VO2 Maks
  vo2-max
Ağırlık Ağırlık
  weight

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.