Thêm dữ liệu về lượng 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 một 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 đã tiêu thụ trong một lần 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 được tiêu thụ. Vì com.google.hydration là một loại dữ liệu tức thời, 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 một nguồn dữ liệu mới. Ví dụ: hydrationSource.

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

REST

Gọi API REST để tạo một 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 sẽ là mã trạng thái 200 OK. Phần nội dung phản hồi chứa một biểu thị 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 @hydration-ds.json \
  https://www.googleapis.com/fitness/v1/users/me/dataSources

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

Android

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

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

REST

Ví dụ này cho thấy cách thêm dữ liệu về lượng nước đã uống bằng nguồn dữ liệu.

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 tạo điểm dữ liệu 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 một biểu thị 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