Android
Ứng dụng của bạn có thể xem danh sách các món ăn được ăn trong một khung thời gian nhất định bằng cách tạo một yêu cầu đọc dữ liệu và truy vấn DataType.TYPE_NUTRITION
, như minh hoạ 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ý thể dục.
Kiến trúc chuyển trạng thái đại diện (REST)
Việc truy xuất danh sách các mục thực phẩm được ăn thông qua API REST là 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 loại dữ liệu
com.google.nutrition
. Ngoài ra, nếu đã biết thông tin về nguồn dữ liệu, bạn có thể sử dụng trực tiếp các thông tin này trong bước tiếp theo. - Lần lượt lấy danh sách thức ăn đã ă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.
Truy xuất danh sách nguồn dữ liệu thực phẩm
Vì chỉ yêu cầu datasource.dataStreamId
từ mỗi nguồn dữ liệu, bạn có thể sử dụng mặt nạ trường (như minh hoạ ở đây) để chỉ phản hồi 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
. Nội dung phản hồi chứa 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' \ --compressed
Lấy danh sách thức ăn đã ăn từ nguồn dữ liệu
Lần lượt, hãy 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 điểm bắt đầu và kết thúc của khoảng thời gian cần thiết, 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
đại diện cho datasetId
từ 00:00:00:00 ngày 01 tháng 1 năm 2019 theo giờ UTC đến 00:00:00 ngày 02 tháng 1 năm 2019.
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