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

يمكن لتطبيقك تسجيل بيانات مستويات الغلوكوز في الدم عن طريق الكتابة إلى نوع بيانات 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