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