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 uống 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 thể hiện dung 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 dấu phẩy động để 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à 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()

REST

Hãy 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 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 @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 bạn biết cách tạo một điểm dữ liệu mới và thêm lượng nước uống dữ liệu cho một cốc nước uống 0,3 lít, 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()

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

Ví dụ này cho bạn biết cách thêm dữ liệu về lượng nước uống bằng nguồn dữ liệu của bạn.

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. 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