Android
Ứng dụng của bạn có thể tải danh sách các món ăn đã ăn trong một khung thời gian cụ thể bằng cách
sẽ tạo một yêu cầu đọc dữ liệu và truy vấn DataType.TYPE_NUTRITION
, như
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 bài viết Làm việc với Nhật ký tập 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ón ăn đã ăn, thông qua API REST là một giai đoạn quá trình:
- Truy xuất danh sách các nguồn dữ liệu có sẵn cho
com.google.nutrition
loại dữ liệu. Ngoài ra, nếu đã biết thông tin chi tiết về nguồn dữ liệu, bạn có thể sử dụng ngay trong bước tiếp theo. - Lấy danh sách các thực phẩm đã ăn từ mỗi nguồn dữ liệu.
- (Nếu có nhiều nguồn dữ liệu) kết hợp danh sách các loại thực phẩm các mục trong ứng dụng khách.
Truy xuất danh sách các nguồn dữ liệu thực phẩm
Do chỉ có datasource.dataStreamId
là bắt buộc từ mỗi nguồn dữ liệu,
bạn có thể sử dụng mặt nạ trường, như minh hoạ ở đây, để giới hạn chỉ phản hồi này
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 phẩm đã ăn từ nguồn dữ liệu
Sử dụng dataSource.dataStreamId
từ mỗi nguồn ở bước 1, trong
để 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 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ị cho
datasetId
trong khoảng thời gian 00:00:00 ngày 1 tháng 1 năm 2019 đến 00:00:00 ngày 2 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