Android
Your app can get a list of food items eaten within a specified time frame by creating a data read request and querying for DataType.TYPE_NUTRITION , as shown in the following example:
val readRequest = DataReadRequest.Builder()
.read(DataType.TYPE_NUTRITION)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
Для получения дополнительной информации о чтении данных см. раздел «Работа с историей физической активности» .
ОТДЫХ
Получение списка съеденных продуктов питания через REST API представляет собой трехэтапный процесс:
- Получите список доступных источников данных для типа данных
com.google.nutrition. В качестве альтернативы, если подробная информация об источнике данных уже известна, ее можно использовать непосредственно на следующем шаге. - Последовательно получите список съеденных продуктов из каждого источника данных.
- ( Если источников данных несколько ) объедините списки продуктов питания в клиентском приложении.
Получение списка источников данных о продуктах питания
Поскольку от каждого источника данных требуется только datasource.dataStreamId , можно использовать маску поля, как показано здесь, чтобы ограничить ответ только этим свойством.
метод HTTP
GET
URL запроса
https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)Ответ
В случае успеха ответ будет иметь код состояния 200 OK . Тело ответа содержит список в формате JSON, каждый элемент которого соответствует источнику данных.
Например:
{
"dataSource": [
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource1:"
},
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource2:"
}
]
}
Команда 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Получение списка съеденных продуктов питания из источника данных.
Используйте dataSource.dataStreamId из каждого из источников на шаге 1 по очереди, чтобы получить список (или списки) съеденных продуктов питания.
datasetId — это начало и конец требуемого периода времени в наносекундах, как определено в ресурсе набора данных .
Например, 1546300800000000000-1546387200000000000 представляет собой идентификатор datasetId за период с 01 января 2019 г. 00:00:00 UTC по 02 января 2019 г. 00:00:00 .
метод HTTP
GET
URL запроса
https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/1546300800000000000-1546387200000000000?fields=point%2Fvalue%2FstringVal
Ответ
{
"point": [
{
"value": [
{},
{},
{
"stringVal": "apple"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "banana"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "carrot"
}
]
}
]
}
Команда 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