كتابة بيانات الجلوكوز في الدم

يمكن لتطبيقك تسجيل بيانات الجلوكوز في الدم من خلال الكتابة على نوع بيانات com.google.blood_glucose. في هذا النوع من البيانات، تمثّل كل نقطة بيانات قراءة واحدة للجلوكوز في الدم على الفور. وتحتوي نقطة البيانات على حقول لتركيز الجلوكوز في الدم وعلاقاتها المؤقتة بالوجبات والنوم ومصدر العينة التي تم قياسها. وجميع الحقول باستثناء نسبة الجلوكوز في الدم اختيارية.

  • يتم قياس تركيز الجلوكوز في الدم بوحدة mmol/L (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

لإضافة بيانات إلى المصدر الذي تم إنشاؤه أعلاه، يمكنك إنشاء نقطة بيانات لمصدر البيانات هذا، والتي يمكن إدراجها باستخدام واجهة برمجة تطبيقات السجل:

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 تستبعد التعليقات في الوقت الحالي، ننصحك بإزالتها من الرمز لأنّ 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