Андроид
Ваше приложение может получить список продуктов, съеденных в течение определенного периода времени, создав запрос на чтение данных и запросив DataType.TYPE_NUTRITION
, как показано в следующем примере:
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