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

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

  • يتم قياس تركيز الجلوكوز في الدم بوحدة mmol/L (1 mmol/L يعادل 18 mg/dL).
  • إذا تم تحديد العلاقة المؤقتة بوجبة الطعام، يجب أن تكون إحدى القيم المدرَجة في 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()

REST

لكتابة نقطة بيانات الجلوكوز في الدم، أنشئ مصدر بيانات جديدًا.

طريقة 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()

REST

يوضّح هذا المثال كيفية إضافة بيانات الجلوكوز في الدم باستخدام الـ بيانات المصدر التي تم إنشاؤها أعلاه.

طريقة 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