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

Ứng dụng của bạn có thể ghi 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 chỉ số đường huyết. Điểm dữ liệu chứa các trường về đường huyết sự tập trung, mối quan hệ tạm thời với bữa ăn và giấc ngủ, cũng như nguồn gốc của mẫu được đo. Tất cả các trường, ngoại trừ nồng độ đường huyết là không bắt buộc.

  • Nồng độ đường huyết được đo bằng mmol/L (1 mmol/L 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ị nêu 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 với 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 các giá trị được liệt kê trong FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE.

Tạo một 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 trong tổng số 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 sẽ có trạng thái 200 OK . 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 dữ liệu mã nguồn 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

Đang thêm dữ liệu

Android

Để thêm dữ liệu vào nguồn đã tạo ở trên, hãy tạo một điểm dữ liệu cho dữ liệu này nguồn, có thể được chèn bằng cách sử dụ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 về đường huyết bằng cách sử dụng nguồn dữ liệu đã 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

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

{
  "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, phản hồi sẽ là 200 OK mã trạng thái. Nội dung phản hồi chứa tệp JSON đại diện cho máu glucose đã đượ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