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

Андроид

Ваше приложение может получить список продуктов, съеденных в течение определенного периода времени, создав запрос на чтение данных и запросив DataType.TYPE_NUTRITION , как показано в следующем примере:

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