Thêm dữ liệu về nước uống

Bạn có thể thêm dữ liệu về lượng nước vào Google Fit bằng cách tạo nguồn dữ liệu và sử dụng loại dữ liệu com.google.hydration. Mỗi điểm dữ liệu biểu thị thể tích (tính bằng lít) mà người dùng sử dụng trong một thức uống. Sử dụng số thực để chỉ định âm lượng. Lưu ý: Dấu thời gian cho biết thời điểm uống rượu. Vì com.google.hydration là loại dữ liệu tức thì nên thời gian bắt đầu và thời gian kết thúc phải giống nhau.

Tạo nguồn dữ liệu

Android

Sử dụng DataSource.Builder để tạo nguồn dữ liệu mới. Ví dụ: hydrationSource.

val hydrationSource = DataSource.Builder()
    .setDataType(DataType.TYPE_HYDRATION)
    .setStreamName("hydrationSource")
    // ... 
    .build()

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

Gọi API REST để tạo nguồn dữ liệu mới. Ví dụ: HydrationSource.

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": "HydrationSource",
  "type": "raw",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "My Example App",
    "version": "1"
  },
  "dataType": {
    "name": "com.google.hydration",
    "field": [
     {
      "name": "volume",
      "format": "floatPoint",
      "optional": false
     }
    ]
   }
}

Đá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 @hydration-ds.json \
  https://www.googleapis.com/fitness/v1/users/me/dataSources

Thêm dữ liệu lượng nước uống

Android

Ví dụ này cho bạn biết cách tạo một điểm dữ liệu mới và thêm dữ liệu về lượng nước uống cho một mức nước 0,3 lít bằng cách sử dụng nguồn dữ liệu.

val hydration = DataPoint.builder(hydrationSource)
    .setTimestamp(timestamp, TimeUnit.MILLISECONDS)
    .setField(FIELD_VOLUME, 0.3f)
    .build()

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

Ví dụ này sẽ hướng dẫn bạn cách thêm dữ liệu về lượng nước uống bằng nguồn dữ liệu của mình.

Phương thức HTTP

PATCH

URL yêu cầu

https://www.googleapis.com/fitness/v1/users/me/dataSources/raw:com.google.hydration:407408718192:HydrationSource/datasets/1275753581000000000-1275753581000000000

Nội dung yêu cầu

{
 "minStartTimeNs": 1275753581000000000,
 "maxEndTimeNs": 1275753581000000000,
 "dataSourceId": "raw:com.google.hydration:407408718192:HydrationSource",
 "point": [
  {
   "startTimeNanos": 1275753581000000000,
   "endTimeNanos": 1275753581000000000,
   "dataTypeName": "com.google.hydration",
   "value": [
    {
     "fpVal": 0.3
    }
   ]
  }
 ]
}

Đáp

Nếu điểm dữ liệu của bạn đã được tạo thành công, bạn sẽ nhận được mã trạng thái phản hồi HTTP 200 OK. Phần nội dung phản hồi chứa bản trình bày JSON của tập dữ liệu.

Lệnh CURL

$ curl --header "Authorization: Bearer ya29.yourtokenvalue" --request PATCH \
  --header "Content-Type: application/json;encoding=utf-8" --data @hydration-data.json \
  https://www.googleapis.com/fitness/v1/users/me/dataSources/raw:com.google.hydration:407408718192:HydrationSource/datasets/1275753581000000000-1275753581000000000