يقدّم قسم "مواصفات واجهة برمجة التطبيقات" نظرة عامة مفصّلة على المكوّنات الفنية الأساسية للتكامل مع المنصة، بما في ذلك نطاقات التفويض وتعريفات أنواع البيانات وبُنى نقاط النهاية. تمثّل واجهة برمجة التطبيقات هذه تطوّرًا استراتيجيًا لواجهة 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 Burnedactive-energy-burned
|
| دقائق منطقة نشطة | Active Zone Minutesactive-zone-minutes
|
| تتضمّن هذه البيانات تغييرات في مستويات نشاط المستخدم | Activity Levelactivity-level
|
| الارتفاع | Altitudealtitude
|
| الغلوكوز في الدم | Blood Glucoseblood-glucose
|
| نسبة الدهون بالجسم | Body Fatbody-fat
|
caloriesOut في كل منطقة من مناطق معدّل نبضات القلب |
Calories In Heart Rate Zonecalories-in-heart-rate-zone
|
| درجة الحرارة (الأساسية) | Core Body Temperaturecore-body-temperature
|
| ملخّص تغيُّر معدّل نبضات القلب | تغيُّر معدّل نبضات القلب اليوميdaily-heart-rate-variability
|
| ملخّص نسبة الأكسجين بالدم | Daily Oxygen Saturationdaily-oxygen-saturation
|
| معدّل النبض أثناء الراحة | Daily Resting Heart Ratedaily-resting-heart-rate
|
| درجة حرارة الجلد | Daily Sleep Temperature Derivationsdaily-sleep-temperature-derivations
|
| المسافة | Distancedistance
|
| مخطَّط كهربية القلب | Electrocardiogram (ECG)electrocardiogram
|
| نشاط مسجّل | Exerciseexercise
|
| الطوابق | Floorsfloors
|
| طعام | Foodfood
|
| وحدة قياس الطعام | Food Measurement Unitfood-measurement-unit
|
| معدّل نبضات القلب | Heart Rateheart-rate
|
| تغيُّر معدّل نبضات القلب خلال اليوم | تغيُّر معدّل نبضات القلبheart-rate-variability
|
| إشعارات اضطراب نظم القلب | Irregular Rhythm Notificationirregular-rhythm-notification
|
| سجلّ الوجبات | Nutrition Lognutrition-log
|
| نسبة الأكسجين بالدم خلال اليوم | Oxygen Saturationoxygen-saturation
|
| قيمة السعة القصوى للأكسجين عندما يركض المستخدم | Run VO2 Maxrun-vo2-max
|
| دقائق سلسلة النشاط البدني في وضع الجلوس | Sedentary Periodsedentary-period
|
| النوم | Sleepsleep
|
| الخطوات | Stepssteps
|
| سلسلة النشاط البدني: ضربات السباحة | Swim Lengths Dataswim-lengths-data
|
caloriesOut للنشاط |
Total Caloriestotal-calories
|
| قيمة السعة القصوى للأكسجين | VO2 Maxvo2-max
|
| الوزن | Weightweight
|
نقاط النهاية
تتّبع نقاط نهاية 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 تعرض جميع الاشتراكات |