Прочитайте съеденные продукты

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 представляет собой трехэтапный процесс:

  1. Получите список доступных источников данных для типа данных com.google.nutrition . В качестве альтернативы, если подробная информация об источнике данных уже известна, ее можно использовать непосредственно на следующем шаге.
  2. Последовательно получите список съеденных продуктов из каждого источника данных.
  3. ( Если источников данных несколько ) объедините списки продуктов питания в клиентском приложении.

Получение списка источников данных о продуктах питания

Поскольку от каждого источника данных требуется только 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