Ghi dữ liệu đường huyết

Ứng dụng của bạn có thể ghi lại dữ liệu đường huyết bằng cách ghi vào loại dữ liệu com.google.blood_glucose. Trong loại dữ liệu này, mỗi điểm dữ liệu biểu thị một lần đọc đường huyết tức thì. Điểm dữ liệu chứa các trường về nồng độ đường huyết, mối quan hệ tạm thời với bữa ăn và giấc ngủ, nguồn gốc của mẫu vật được đo lường. Bạn không bắt buộc phải điền vào tất cả các trường, ngoại trừ nồng độ đường huyết.

  • Nồng độ đường huyết được đo bằng mmol/L (1 mmol/L tương đương 18 mg/dL).
  • Nếu được chỉ định, mối quan hệ tạm thời với bữa ăn phải có một trong các giá trị được liệt kê trong FIELD_TEMPORAL_RELATION_TO_MEAL.
  • Loại bữa ăn phải có một trong các giá trị được liệt kê trong FIELD_MEAL_TYPE. Nếu bạn không xác định được loại bữa ăn, hãy sử dụng MEAL_TYPE_UNKNOWN.
  • Nếu được chỉ định, mối quan hệ tạm thời của giấc ngủ phải có một trong các giá trị được liệt kê trong FIELD_TEMPORAL_RELATION_TO_SLEEP.
  • Nếu được chỉ định, nguồn mẫu đường huyết phải có một trong những giá trị được liệt kê trong FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE.

Tạo nguồn dữ liệu

Android

Để ghi một điểm dữ liệu đường huyết, hãy tạo một DataSource mới của TYPE_BLOOD_GLUCOSE, như trong ví dụ sau:

val bloodGlucoseSource = DataSource.Builder()
    .setDataType(TYPE_BLOOD_GLUCOSE)
    // ...
    .build()

Kiến trúc chuyển trạng thái đại diện (REST)

Để ghi một điểm dữ liệu đường huyết, hãy tạo một nguồn dữ liệu mới.

Phương thức HTTP

POST

URL yêu cầu

https://www.googleapis.com/fitness/v1/users/me/dataSources

Nội dung yêu cầu

{
  "dataStreamName": "BloodGlucose",
  "type": "raw",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "My Example App",
    "version": "1"
  },
  "dataType": {
    "name": "com.google.blood_glucose"
   }
}

Đáp

Nếu nguồn dữ liệu được tạo thành công thì phản hồi là mã trạng thái 200 OK. Phần nội dung phản hồi chứa bản trình bày JSON của nguồn dữ liệu, bao gồm thuộc tính datasource.dataStreamId mà bạn có thể sử dụng làm mã nhận dạng nguồn dữ liệu cho các yêu cầu tiếp theo.

Lệnh 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

Thêm dữ liệu

Android

Để thêm dữ liệu vào nguồn được tạo ở trên, hãy tạo một điểm dữ liệu cho nguồn dữ liệu này có thể được chèn bằng API lịch sử:

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

Kiến trúc chuyển trạng thái đại diện (REST)

Ví dụ này minh hoạ cách thêm dữ liệu đường huyết bằng cách sử dụng nguồn dữ liệu được tạo ở trên.

Phương thức HTTP

PATCH

URL yêu cầu

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

Nội dung yêu cầu

Để rõ ràng hơn, phần nội dung JSON hiển thị bên dưới sẽ được chú thích bằng ghi chú để cho biết việc sử dụng các hằng số trường sức khỏe. Mặc dù API Fit hiện sẽ bỏ nhận xét, nhưng bạn nên xoá các phần này khỏi mã, vì JSON không hỗ trợ chính thức các nhận xét.

{
  "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
        }
      ]
    }
  ]
}

Đáp

Nếu dữ liệu đường huyết được thêm thành công, thì phản hồi là mã trạng thái 200 OK. Nội dung phản hồi chứa bản trình bày JSON của dữ liệu về đường huyết đã được thêm vào.

Lệnh 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