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

يقدّم قسم "مواصفات واجهة برمجة التطبيقات" نظرة عامة مفصّلة على المكوّنات الفنية الأساسية للتكامل مع المنصة، بما في ذلك نطاقات التفويض وتعريفات أنواع البيانات وبِنى نقاط النهاية. تمثّل واجهة برمجة التطبيقات هذه تطوّرًا استراتيجيًا لواجهة 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-zone-minutes
يحتوي على تغييرات في مستويات نشاط المستخدم مستوى النشاط
  activity-level
الارتفاع الارتفاع
  altitude
الغلوكوز في الدم الغلوكوز في الدم
  blood-glucose
نسبة الدهون بالجسم دهون الجسم
  body-fat
caloriesOut في كل نطاق من نطاقات معدّل نبضات القلب السعرات الحرارية في منطقة معدل ضربات القلب
  calories-in-heart-rate-zone
درجة الحرارة (الأساسية) درجة حرارة الجسم الأساسية
  core-body-temperature
ملخّص معدّل ضربات القلب المتغير تغيُّر معدّل نبضات القلب اليومي
  daily-heart-rate-variability
ملخّص نسبة الأكسجين بالدم تشبّع الأكسجين اليومي
  daily-oxygen-saturation
معدّل النبض أثناء الراحة معدّل النبض أثناء الراحة اليومي
  daily-resting-heart-rate
درجة حرارة الجلد القيم المشتقة لدرجة حرارة الجسم أثناء النوم
  daily-sleep-temperature-derivations
المسافة المسافة
  distance
مخطَّط كهربية القلب (ECG) تخطيط القلب الكهربائي (ECG)
  electrocardiogram
النشاط المسجّل ممارسة التمارين الرياضية
  exercise
الطوابق الطوابق
  floors
طعام الطعام
  food
وحدة قياس الطعام وحدة قياس الطعام
  food-measurement-unit
معدّل نبضات القلب معدّل نبضات القلب
  heart-rate
معدّل ضربات القلب خلال اليوم تغيُّر معدّل نبضات القلب
  heart-rate-variability
إشعارات اضطراب نظم القلب إشعار اضطراب نظم القلب
  irregular-rhythm-notification
سجلّ الطعام سجلّ التغذية
  nutrition-log
نسبة الأكسجين بالدم خلال اليوم تشبّع الأكسجين
  oxygen-saturation
قيمة الحدّ الأقصى لاستهلاك الأكسجين عند الركض Run VO2 Max
  run-vo2-max
سلسلة الوقت لنشاط الدقائق التي تم قضاؤها في وضع الخمول فترة الخمول
  sedentary-period
النوم موسيقى للنوم
  sleep
الخطوات الخطوات
  steps
سلسلة زمنية للأنشطة: عدد حركات السباحة بيانات أطوال السباحة
  swim-lengths-data
النشاط caloriesOut إجمالي السعرات الحرارية
  total-calories
قيمة الحد الأقصى لاستهلاك الأكسجين الحد الأقصى لاستهلاك الأكسجين
  vo2-max
الوزن الوزن
  weight

نقاط النهاية

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

  • نقطة نهاية الخدمة: يتغيّر عنوان URL الأساسي لبروتوكول HTTP إلى https://health.googleapis.com.
  • بنية نقطة النهاية: تتيح Google Health API عددًا محدودًا من نقاط النهاية التي يمكن استخدامها مع معظم أنواع البيانات المتوافقة. يوفّر ذلك بنية متّسقة لجميع أنواع البيانات، ما يسهّل استخدام نقاط النهاية.
  • معرّف المستخدم: يجب تحديد معرّف المستخدم أو 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 (Log | Summary | Daily Summary) where you are requesting a single day of data طريقة dailyRollup مع windowSize = يوم واحد
‫GET (خلال اليوم) حيث تطلب بيانات تفصيلية طريقة القائمة
GET (سلسلة زمنية) حسب التاريخ أو الفاصل الزمني طريقة rollUp أو dailyRollUp التي تتضمّن نطاقًا زمنيًا
GET (قائمة السجلّ) طريقة القائمة
إنشاء سجلات وتعديلها طريقة patch
حذف السجلات طريقة batchDelete
GET Profile تعرض الدالة 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 جميع الاشتراكات.