혈당 데이터 쓰기

앱에서 혈당 데이터를 기록하려면 com.google.blood_glucose 데이터 유형. 이 데이터 유형에서 각 데이터 포인트는 혈당 수치 데이터 포인트에 혈당 필드가 있음 수면과 수면의 시간적 관계, 그리고 수면의 근원은 2개의 검체로 추출했습니다. 혈당 농도를 제외한 모든 입력란 선택사항입니다.

데이터 소스 만들기

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 속성 포함 후속 요청에 사용할 소스 ID입니다.

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()

REST

이 예에서는 다음을 사용하여 혈당 데이터를 추가하는 방법을 보여줍니다. 위에서 생성한 데이터 소스를 사용하세요.

HTTP 메소드

PATCH

요청 URL

https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000

요청 본문

명확성을 위해 아래의 JSON 본문에 주석으로 주석이 추가되어 있습니다. health 필드 상수의 사용입니다. 현재 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
드림