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 đại diện cho một chỉ số đường huyết tức thời duy nhất. Đ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ủ, cũng như nguồn của mẫu vật được đo. Tất cả các trường, ngoại trừ trường nồng độ đường huyết đều không bắt buộc.

  • 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 của 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 không xác định loại bữa ăn, hãy sử dụng hàm 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 xét nghiệm đườ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 đ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, phản hồi sẽ là mã trạng thái 200 OK. Nội dung phản hồi chứa một đại diện JSON của nguồn dữ liệu, bao gồm cả thuộc tính datasource.dataStreamId mà bạn có thể 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

Đ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 nguồn dữ liệu này. Bạn có thể chèn điểm này bằng API Nhật ký:

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, phần nội dung JSON hiển thị bên dưới được chú thích bằng các chú thích để cho thấy việc sử dụng các 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 nhận xét này khỏi mã của mình vì JSON không chính thức hỗ trợ 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, phản hồi sẽ là mã trạng thái 200 OK. Nội dung phản hồi chứa đại diện JSON của dữ liệu đường huyết đã được thêm.

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