Phần này minh hoạ cách đọc thông tin dinh dưỡng tổng hợp hằng ngày từ một nguồn dữ liệu cụ thể. Phản hồi này chứa một danh sách các nhóm (mỗi nhóm cho một khoảng thời gian 24 giờ), mỗi nhóm có một tập dữ liệu và điểm dữ liệu duy nhất chứa một trường cho tất cả các loại dữ liệu dinh dưỡng đã ghi. Nếu không có giá trị dinh dưỡng nào cho một khoảng thời gian cụ thể, thì sẽ không có tập dữ liệu. Nếu có nhiều meal_type được ghi lại, giá trị sẽ được đặt thành UNKNOWN.
Android
Ứng dụng của bạn có thể đọc dữ liệu dinh dưỡng tổng hợp hằng ngày của người dùng bằng cách tạo một yêu cầu đọc dữ liệu và chỉ định dữ liệu tổng hợp cho các loại dữ liệu "DataType.TYPE_NUTRITION" và "DataType.AGGREGATE_NUTRITION_SUMMARY", như minh hoạ trong ví dụ sau:
val readRequest = DataReadRequest.Builder()
.aggregate(DataType.AGGREGATE_NUTRITION_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
REST
Ứng dụng của bạn có thể đọc dữ liệu dinh dưỡng tổng hợp hằng ngày của người dùng bằng cách đưa ra yêu cầu POST và truy vấn nguồn dữ liệu được chỉ định. Bạn phải thực hiện một truy vấn riêng cho từng nguồn dữ liệu.
Phương thức HTTP
POST
URL yêu cầu
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Nội dung yêu cầu
{
"aggregateBy": [{
"dataSourceId":
"raw:com.google.nutrition:407408718192:MyDataSource"
}],
"bucketByTime": { "durationMillis": 86400000 },
"startTimeMillis": 1471244400000,
"endTimeMillis": 1471259040000
}
Đá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 bản trình bày 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 @aggregate.json \
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate