مواصفات واجهة برمجة التطبيقات

يقدّم قسم "مواصفات واجهة برمجة التطبيقات" نظرة عامة مفصّلة على المكوّنات الفنية الأساسية للتكامل مع المنصة، بما في ذلك نطاقات التفويض وتعريفات أنواع البيانات وبُنى نقاط النهاية. تمثّل واجهة برمجة التطبيقات هذه تطوّرًا استراتيجيًا لواجهة Fitbit Web API القديمة، وقد تم إعادة إنشائها على بنية تحتية حديثة لضمان تجربة أكثر استقرارًا واتساقًا للمطوّرين.

المستويات

عليك تعديل طلب التفويض لاستخدام نطاقات Google Health API. تحدّد النطاقات ما إذا كان تطبيقك يتيح عمليات القراءة أو الكتابة. لا تستخدِم نطاقات غير ضرورية لتطبيقك. يمكنك دائمًا إضافة المزيد من النطاقات لاحقًا إذا تغيّر تصميم تطبيقك.

نطاقات Google Health API هي عنوان URL لبروتوكول HTTP يبدأ بـ https://www.googleapis.com/auth/googlehealth.{scope}. على سبيل المثال، https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly.

تعيينات النطاقات

في ما يلي كيفية ربط نطاقات Fitbit Web API بنطاقات Google Health API:

الجدول: تعيينات نطاقات Fitbit Web API إلى Google Health API
نطاقات Fitbit Web API نطاقات Google Health API
النشاط .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
مخطَّط كهربية القلب .ecg.readonly
معدّل نبضات القلب .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
irregular_rhythm_notifications .irn.readonly
الموقع .location.readonly
المعلومات الغذائية .nutrition.readonly
.nutrition.writeonly
oxygen_saturation .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
الملف الشخصي .profile.readonly
.profile.writeonly
respiratory_rate .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
الإعدادات .settings.readonly
.settings.writeonly
النوم .sleep.readonly
.sleep.writeonly
درجة الحرارة .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
الوزن .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly

أنواع البيانات

في ما يلي قائمة بأنواع بيانات Google Health API وكيفية ربطها بـ Fitbit Web API.

لمزيد من المعلومات حول كيفية الإبلاغ عن البيانات لهذه الأنواع، يُرجى الاطّلاع على دليل توفّر البيانات والأصفار الحقيقية. يتضمّن هذا الدليل تفاصيل حول عدم النشاط والتصفية على المعصم.

الجدول: تعيينات أنواع بيانات Fitbit Web API إلى Google Health API
نوع بيانات Fitbit Web API نوع بيانات Google Health API
  dataType
السعرات الحرارية المحروقة نتيجة ممارسة نشاط بدني Active Energy Burned
  active-energy-burned
دقائق منطقة نشطة Active Zone Minutes
  active-zone-minutes
تتضمّن هذه البيانات تغييرات في مستويات نشاط المستخدم Activity Level
  activity-level
الارتفاع Altitude
  altitude
الغلوكوز في الدم Blood Glucose
  blood-glucose
نسبة الدهون بالجسم Body Fat
  body-fat
caloriesOut في كل منطقة من مناطق معدّل نبضات القلب Calories In Heart Rate Zone
  calories-in-heart-rate-zone
درجة الحرارة (الأساسية) Core Body Temperature
  core-body-temperature
ملخّص تغيُّر معدّل نبضات القلب تغيُّر معدّل نبضات القلب اليومي
  daily-heart-rate-variability
ملخّص نسبة الأكسجين بالدم Daily Oxygen Saturation
  daily-oxygen-saturation
معدّل النبض أثناء الراحة Daily Resting Heart Rate
  daily-resting-heart-rate
درجة حرارة الجلد Daily Sleep Temperature Derivations
  daily-sleep-temperature-derivations
المسافة Distance
  distance
مخطَّط كهربية القلب Electrocardiogram (ECG)
  electrocardiogram
نشاط مسجّل Exercise
  exercise
الطوابق Floors
  floors
طعام Food
  food
وحدة قياس الطعام Food Measurement Unit
  food-measurement-unit
معدّل نبضات القلب Heart Rate
  heart-rate
تغيُّر معدّل نبضات القلب خلال اليوم تغيُّر معدّل نبضات القلب
  heart-rate-variability
إشعارات اضطراب نظم القلب Irregular Rhythm Notification
  irregular-rhythm-notification
سجلّ الوجبات Nutrition Log
  nutrition-log
نسبة الأكسجين بالدم خلال اليوم Oxygen Saturation
  oxygen-saturation
قيمة السعة القصوى للأكسجين عندما يركض المستخدم Run VO2 Max
  run-vo2-max
دقائق سلسلة النشاط البدني في وضع الجلوس Sedentary Period
  sedentary-period
النوم Sleep
  sleep
الخطوات Steps
  steps
سلسلة النشاط البدني: ضربات السباحة Swim Lengths Data
  swim-lengths-data
caloriesOut للنشاط Total Calories
  total-calories
قيمة السعة القصوى للأكسجين VO2 Max
  vo2-max
الوزن Weight
  weight

نقاط النهاية

تتّبع نقاط نهاية REST بنية متّسقة لجميع أنواع البيانات.

  • نقطة نهاية الخدمة: يتغيّر عنوان URL الأساسي لبروتوكول HTTP إلى https://health.googleapis.com.
  • بنية نقطة النهاية: تتيح Google Health API عددًا محدودًا من نقاط النهاية التي يمكن استخدامها لمعظم أنواع البيانات المتوافقة. يوفّر ذلك بنية متّسقة لجميع أنواع البيانات ويجعل نقاط النهاية أسهل في الاستخدام.
  • معرّف المستخدم: يجب تحديد معرّف المستخدم أو me في بنية نقطة النهاية. عند استخدام me، يتم استنتاج معرّف المستخدم من رمز الدخول.

مثال: في ما يلي مثال على نقطة نهاية GET Profile التي يتم طلبها باستخدام Google Health API

GET https://health.googleapis.com/v4/users/me/profile

تعيينات نقاط النهاية

يُرجى الاطّلاع على جدول أنواع بيانات Google Health API للحصول على قائمة بأنواع البيانات المتاحة وطُرق واجهة برمجة التطبيقات التي تتيحها.

نوع نقطة نهاية Fitbit Web API Google Health API
GET (السجلّ | الملخّص | الملخّص اليومي) عندما تطلب يومًا واحدًا من البيانات طريقة dailyRollup مع windowSize = يوم واحد
GET (خلال اليوم) عندما تطلب بيانات تفصيلية طريقة list
GET (سلسلة البيانات) حسب التاريخ أو الفترة الزمنية طريقة rollUp أو dailyRollUp التي تتضمّن نطاقًا زمنيًا
GET (قائمة السجلات) طريقة list
إنشاء السجلات وتعديلها طريقة patch
حذف السجلات طريقة batchDelete
الحصول على الملف الشخصي users.getProfile تعرض معلومات المستخدم المحدّدة
users.getSettings تعرض وحدات المستخدم والمناطق الزمنية
تعديل الملف الشخصي users.updateProfile تعدّل معلومات المستخدم المحدّدة
users.updateSettings تعدّل وحدات المستخدم والمناطق الزمنية
الحصول على معرّف المستخدم users.getIdentity تعرض معرّف مستخدم Fitbit القديم ومعرّف مستخدم Google.
الحصول على الأجهزة تعرض users.pairedDevices قائمة الأجهزة المقترنة
إنشاء الاشتراكات projects.subscribers.subscriptions.create تنشئ اشتراكًا يدويًا
حذف الاشتراكات projects.subscribers.subscriptions.delete تحذف اشتراكًا
الحصول على قائمة الاشتراكات projects.subscribers.subscriptions.list تعرض جميع الاشتراكات