Android
Ứng dụng của bạn có thể nhận được danh sách các món ăn đã dùng trong một khung thời gian cụ thể bằng cách tạo yêu cầu đọc dữ liệu và truy vấn DataType.TYPE_NUTRITION, như trong ví dụ sau:
val readRequest = DataReadRequest.Builder()
.read(DataType.TYPE_NUTRITION)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
Để biết thêm thông tin về cách đọc dữ liệu, hãy xem phần Làm việc với Nhật ký hoạt động thể dục.
REST
Việc truy xuất danh sách các món ăn đã dùng thông qua API REST là một quy trình gồm 3 giai đoạn:
- Truy xuất danh sách các nguồn dữ liệu có sẵn cho
com.google.nutritionloại dữ liệu. Ngoài ra, nếu bạn đã biết thông tin chi tiết về nguồn dữ liệu, thì bạn có thể sử dụng trực tiếp thông tin này trong bước tiếp theo. - Lần lượt lấy danh sách thực phẩm đã ăn từ từng nguồn dữ liệu.
- (Nếu có nhiều nguồn dữ liệu) kết hợp danh sách các mặt hàng thực phẩm trong ứng dụng khách.
Truy xuất danh sách nguồn dữ liệu thực phẩm
Vì chỉ cần datasource.dataStreamId từ mỗi nguồn dữ liệu, bạn có thể dùng một mặt nạ trường (như minh hoạ ở đây) để giới hạn phản hồi chỉ cho thuộc tính này.
Phương thức HTTP
GET
URL yêu cầu
https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)Đáp
Nếu thành công, 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 danh sách JSON, mỗi mục trong danh sách tương ứng với một nguồn dữ liệu.
Ví dụ:
{
"dataSource": [
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource1:"
},
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource2:"
}
]
}
Lệnh CURL
$ curl \
'https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)' \
--header 'Authorization: Bearer ya29.yourtokenvalue' \
--header 'Accept: application/json' \
--compressedLấy danh sách thực phẩm đã ăn từ một nguồn dữ liệu
Lần lượt sử dụng dataSource.dataStreamId từ mỗi nguồn ở bước 1 để truy xuất(các) danh sách thực phẩm đã ăn.
datasetId là thời gian bắt đầu và kết thúc của khoảng thời gian bắt buộc, tính bằng nano giây như được xác định trong tài nguyên tập dữ liệu.
Ví dụ: 1546300800000000000-1546387200000000000 biểu thị datasetId cho 01/01/2019 00:00:00 UTC đến 02/01/2019 00:00:00.
Phương thức HTTP
GET
URL yêu cầu
https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/1546300800000000000-1546387200000000000?fields=point%2Fvalue%2FstringVal
Đáp
{
"point": [
{
"value": [
{},
{},
{
"stringVal": "apple"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "banana"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "carrot"
}
]
}
]
}
Lệnh CURL
$ curl \
'https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/157059699023000000-1575159699023999000?fields=point%2Fvalue%2FstringVal' \
--header 'Authorization: Bearer ya29.yourtokenvalue' \
--header 'Accept: application/json' \
--compressed