يمكن لتطبيقك تسجيل بيانات مستويات الغلوكوز في الدم عن طريق الكتابة إلى نوع بيانات com.google.blood_glucose
. في نوع البيانات هذا، تمثل كل نقطة بيانات قراءة واحدة فورية لغلوكوز الدم. تحتوي نقطة البيانات على حقول لتركيز الغلوكوز في الدم،
والعلاقات الزمنية بالوجبات والنوم، ومصدر
العينة التي تم قياسها. وجميع الحقول اختيارية باستثناء
تركيز الغلوكوز في الدم.
- يتم قياس تركيز الغلوكوز في الدم بوحدة ميلي مول/لتر (1 ميلي مول/لتر يعادل 18 ملي مول/لتر).
- وفي حال تحديد العلاقة الزمنية بالوجبة، يجب أن تكون إحدى القيم المذكورة
في
FIELD_TEMPORAL_RELATION_TO_MEAL
. - يجب أن يحتوي نوع الوجبة على إحدى القيم المدرَجة في
FIELD_MEAL_TYPE
. إذا لم يكن نوع الوجبة معروفًا، استخدِمMEAL_TYPE_UNKNOWN
. - وفي حال تحديد العلاقة الزمنية بالنوم، يجب أن تكون إحدى القيم المذكورة
في
FIELD_TEMPORAL_RELATION_TO_SLEEP
. - إذا تم تحديد مصدر عينة الغلوكوز في الدم، يجب أن يحتوي هذا المصدر على إحدى القيم
المدرَجة في
FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE
.
إنشاء مصدر بيانات
Android
لكتابة نقطة بيانات لمستوى الغلوكوز في الدم، أنشئ DataSource
جديدة
من حيث TYPE_BLOOD_GLUCOSE
،
كما هو موضّح في المثال التالي:
val bloodGlucoseSource = DataSource.Builder()
.setDataType(TYPE_BLOOD_GLUCOSE)
// ...
.build()
راحة
لكتابة نقطة بيانات عن الغلوكوز في الدم، قم بإنشاء مصدر بيانات جديد.
طريقة HTTP
POST
طلب عنوان URL
https://www.googleapis.com/fitness/v1/users/me/dataSources
نص الطلب
{
"dataStreamName": "BloodGlucose",
"type": "raw",
"application": {
"detailsUrl": "http://example.com",
"name": "My Example App",
"version": "1"
},
"dataType": {
"name": "com.google.blood_glucose"
}
}
الرد
إذا تم إنشاء مصدر البيانات بنجاح، تكون الاستجابة رمز حالة 200 OK
. يحتوي نص الاستجابة على تمثيل JSON لمصدر البيانات،
بما في ذلك سمة datasource.dataStreamId
التي يمكنك استخدامها كرقم تعريف مصدر البيانات للطلبات اللاحقة.
أمر CURL
$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request POST \ --header "Content-Type: application/json;encoding=utf-8" --data @blood-glucose-ds.json \ https://www.googleapis.com/fitness/v1/users/me/dataSources
إضافة البيانات
Android
لإضافة بيانات إلى المصدر الذي تم إنشاؤه أعلاه، أنشئ نقطة بيانات لمصدر البيانات هذا يمكن إدراجها باستخدام History API:
val bloodGlucose = DataPoint.builder(bloodGlucoseSource)
.setTimestamp(timestamp, TimeUnit.MILLISECONDS)
.setField(FIELD_BLOOD_GLUCOSE_LEVEL, 5.0f) // 90 mg/dL
.setField(FIELD_TEMPORAL_RELATION_TO_MEAL, FIELD_TEMPORAL_RELATION_TO_MEAL_BEFORE_MEAL)
.setField(FIELD_MEAL_TYPE, MEAL_TYPE_BREAKFAST)
.setField(FIELD_TEMPORAL_RELATION_TO_SLEEP, TEMPORAL_RELATION_TO_SLEEP_ON_WAKING)
.setField(FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE, BLOOD_GLUCOSE_SPECIMEN_SOURCE_CAPILLARY_BLOOD)
.build()
راحة
يوضح هذا المثال إضافة بيانات مستوى الغلوكوز في الدم باستخدام مصدر البيانات الذي تم إنشاؤه أعلاه.
طريقة HTTP
PATCH
طلب عنوان URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000
نص الطلب
للتوضيح، تمت إضافة تعليقات توضيحية إلى نص JSON المعروض أدناه لتوضيح استخدام ثوابت حقل الصحة. على الرغم من أنّ واجهة برمجة تطبيقات Fit API ستتجاهل التعليقات في الوقت الحالي، ننصحك بشدة بإزالتها من الرمز لأنّ JSON لا يتيح استخدام التعليقات رسميًا.
{ "minStartTimeNs": 1574159699023000000, "maxEndTimeNs": 1574159699023000000, "dataSourceId": "datasource.dataStreamId", "point": [ { "startTimeNanos": 1574159699023000000, "endTimeNanos": 1574159699023000000, "dataTypeName": "com.google.blood_glucose", "value": [ { // Blood glucose level, 90 mg/dL "fpVal": 5.0 }, { // FIELD_TEMPORAL_RELATION_TO_MEAL_BEFORE_MEAL "intVal": 3 }, { // MEAL_TYPE_BREAKFAST "intVal": 1 }, { // TEMPORAL_RELATION_TO_SLEEP_ON_WAKING "intVal": 3 }, { // BLOOD_GLUCOSE_SPECIMEN_SOURCE_CAPILLARY_BLOOD "intVal": 2 } ] } ] }
الرد
إذا تمت إضافة بيانات الغلوكوز في الدم بنجاح، تكون الاستجابة هي رمز حالة 200 OK
. يحتوي نص الاستجابة على تمثيل JSON لبيانات
الغلوكوز في الدم التي تمت إضافتها.
أمر CURL
$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request PATCH \ --header "Content-Type: application/json;encoding=utf-8" --data @blood-glucose-data.json \ https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000