האפליקציה שלך יכולה לתעד נתוני סוכר בדם על ידי כתיבה לסוג
com.google.blood_glucose
הנתונים. בסוג הנתונים הזה, כל נקודה על הגרף מייצגת קריאה יחידה של סוכר בדם באופן מיידי. נקודת הנתונים מכילה שדות לקביעת הסוכר בדם, קשרים זמניים לארוחות ולשינה ומקור הדגימה הנמדדת. כל השדות מלבד ריכוז סוכר בדם הם אופציונליים.
- ריכוז הסוכר בדם נמדד ב-mmol/L (מילימול אחד למיליון שווה ל-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()
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
כדי להוסיף נתונים למקור שנוצר למעלה, יוצרים נקודת נתונים עבור מקור הנתונים הזה, שאותו אפשר להוסיף באמצעות היסטוריית ההיסטוריה:
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