يقدّم قسم "مواصفات واجهة برمجة التطبيقات" نظرة عامة مفصّلة على المكوّنات الفنية الأساسية للتكامل مع المنصة، بما في ذلك نطاقات التفويض وتعريفات أنواع البيانات وبِنى نقاط النهاية. تمثّل واجهة برمجة التطبيقات هذه تطوّرًا استراتيجيًا لواجهة 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 |
|---|---|
| النشاط | .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 APIdataType |
|---|---|
| السعرات الحرارية المحروقة نتيجة ممارسة نشاط بدني | السعرات الحرارية المحروقة أثناء النشاط البدنيactive-energy-burned
|
| دقائق منطقة نشطة | دقائق النشاطactive-zone-minutes
|
| يحتوي على تغييرات في مستويات نشاط المستخدم | مستوى النشاطactivity-level
|
| الارتفاع | الارتفاعaltitude
|
| الغلوكوز في الدم | الغلوكوز في الدمblood-glucose
|
| نسبة الدهون بالجسم | دهون الجسمbody-fat
|
caloriesOut في كل نطاق من نطاقات معدّل نبضات القلب |
السعرات الحرارية في منطقة معدل ضربات القلبcalories-in-heart-rate-zone
|
| درجة الحرارة (الأساسية) | درجة حرارة الجسم الأساسيةcore-body-temperature
|
| ملخّص HRV | تغيُّر معدّل نبضات القلب اليومي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
|
| قيمة VO2 Max عندما يمارس المستخدم رياضة الجري | Run VO2 Maxrun-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) حيث تطلب بيانات يوم واحد | طريقة 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 جميع الاشتراكات. |