داده های گلوکز خون را بنویسید

برنامه شما می‌تواند داده‌های قند خون را با نوشتن در نوع داده 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 را داشته باشد.

یک منبع داده ایجاد کنید

اندروید

برای نوشتن نقطه داده گلوکز خون، یک 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

افزودن داده ها

اندروید

برای افزودن داده به منبع ایجاد شده در بالا، یک نقطه داده برای این منبع داده ایجاد کنید که می تواند با استفاده از 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