يقدّم قسم "مواصفات واجهة برمجة التطبيقات" نظرة عامة مفصّلة على المكوّنات الفنية الأساسية للتكامل مع المنصة، بما في ذلك نطاقات التفويض وتعريفات أنواع البيانات وبُنى نقاط النهاية. تمثّل واجهة برمجة التطبيقات هذه تطوّرًا استراتيجيًا لواجهة برمجة التطبيقات القديمة 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
|
| ملخّص تغيُّر معدّل نبضات القلب | تغيُّر معدّل نبضات القلب اليوميdaily-heart-rate-variability
|
| ملخّص نسبة الأكسجين بالدم | تشبّع الأكسجين اليوميdaily-oxygen-saturation
|
| معدّل النبض أثناء الراحة | معدّل النبض اليومي أثناء الراحةdaily-resting-heart-rate
|
| درجة حرارة الجلد | البيانات المشتقة من درجة حرارة النوم اليوميةdaily-sleep-temperature-derivations
|
| المسافة | المسافةdistance
|
| مخطَّط كهربية القلب | مخطَّط كهربية القلبelectrocardiogram
|
| النشاط المسجّل | التمرينexercise
|
| الطوابق | الطوابقfloors
|
| طعام | طعامfood
|
| طعام | طعامfood
|
| وحدة قياس الطعام | وحدة قياس الطعامfood-measurement-unit
|
| وحدة قياس الطعام | وحدة قياس الطعامfood-measurement-unit
|
| معدّل نبضات القلب | معدّل نبضات القلبheart-rate
|
| تغيُّر معدّل نبضات القلب خلال اليوم | تغيُّر معدّل نبضات القلبheart-rate-variability
|
| إشعارات اضطراب نظم القلب | إشعار اضطراب نظم القلبirregular-rhythm-notification
|
| سجلّ الوجبات | سجلّ المعلومات الغذائيةnutrition-log
|
| سجلّ الوجبات | سجلّ المعلومات الغذائيةnutrition-log
|
| نسبة الأكسجين بالدم خلال اليوم | تشبّع الأكسجين في الدمoxygen-saturation
|
| قيمة السعة القصوى للأكسجين عندما يركض المستخدم | السعة القصوى للأكسجين أثناء الركض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 في بنية نقطة النهاية. عند استخدام 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 تعرض جميع الاشتراكات |