В этом разделе показано считывание совокупного суточного питания из конкретного источника данных. Ответ содержит список сегментов (по одному за 24-часовой период), каждый из которых содержит один набор данных и точку данных, содержащую поле для всех записанных типов данных о питании. Если пищевая ценность не существует для определенного периода времени, набора данных не существует. Если записано более одного meal_type
, значение будет установлено на UNKNOWN
.
Андроид
Ваше приложение может считывать совокупные данные о ежедневном питании пользователя, создав запрос на чтение данных и указав агрегат для типов данных «DataType.TYPE_NUTRITION» и «DataType.AGGREGATE_NUTRITION_SUMMARY» , как показано в следующем примере:
val readRequest = DataReadRequest.Builder()
.aggregate(DataType.AGGREGATE_NUTRITION_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
ОТДЫХ
Ваше приложение может считывать совокупные данные о ежедневном питании пользователя, выполнив запрос POST
и запросив указанный источник данных. Для каждого источника данных необходимо выполнить отдельный запрос.
HTTP-метод
POST
URL-адрес запроса
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Тело запроса
{
"aggregateBy": [{
"dataSourceId":
"raw:com.google.nutrition:407408718192:MyDataSource"
}],
"bucketByTime": { "durationMillis": 86400000 },
"startTimeMillis": 1471244400000,
"endTimeMillis": 1471259040000
}
Ответ
Если источник данных создан успешно, ответом будет код состояния 200 OK
. Текст ответа содержит представление источника данных в формате JSON, включая свойство datasource.dataStreamId
, которое можно использовать в качестве идентификатора источника данных для последующих запросов.
команда 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