כתיבה של נתוני הסוכר בדם

האפליקציה שלך יכולה לתעד נתוני סוכר בדם על ידי כתיבה לסוג 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