برنامه شما میتواند دادههای قند خون را با نوشتن در نوع داده com.google.blood_glucose ثبت کند. در این نوع داده، هر نقطه داده نشاندهنده یک قرائت لحظهای قند خون است. نقطه داده شامل فیلدهایی برای غلظت قند خون، روابط زمانی با وعدههای غذایی و خواب و منبع نمونه اندازهگیری شده است. همه فیلدها به جز غلظت قند خون اختیاری هستند.
- غلظت گلوکز خون بر حسب میلیمول در لیتر (mmol/ L) اندازهگیری میشود (1 میلیمول در لیتر معادل 18 میلیگرم در دسیلیتر است).
- در صورت مشخص شدن، رابطه زمانی با meal باید یکی از مقادیر ذکر شده در
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
درخواست آدرس اینترنتی
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
درخواست آدرس اینترنتی
https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000
درخواست بدنه
برای وضوح بیشتر، بدنه JSON نشان داده شده در زیر با توضیحات حاشیهنویسی شده است تا استفاده از ثابتهای فیلد سلامت را نشان دهد. اگرچه API 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