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

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