Ler os alimentos consumidos

Android

Seu app pode receber uma lista de alimentos consumidos em um período específico criando uma solicitação de leitura de dados e consultando DataType.TYPE_NUTRITION, conforme mostrado neste exemplo:

val readRequest = DataReadRequest.Builder()
    .read(DataType.TYPE_NUTRITION)
    .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
    .build()

Para mais informações sobre a leitura de dados, consulte Trabalhar com o histórico de atividades físicas.

REST

Recuperar uma lista de alimentos consumidos por meio da API REST é um processo de três etapas:

  1. Recupere uma lista de fontes de dados disponíveis para o tipo de dados com.google.nutrition. Como alternativa, se os detalhes da fonte de dados já forem conhecidos, eles poderão ser usados diretamente na próxima etapa.
  2. Extraia uma lista dos alimentos consumidos de cada fonte de dados.
  3. Se houver mais de uma fonte de dados, combine as listas de alimentos no aplicativo cliente.

Recuperar uma lista de fontes de dados de alimentos

Como apenas o datasource.dataStreamId é obrigatório para cada fonte de dados, uma máscara de campo pode ser usada, conforme mostrado aqui, para limitar a resposta apenas a essa propriedade.

Método HTTP

GET

Request URL

https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)

Resposta

Se bem-sucedido, a resposta será um código de status 200 OK. O corpo da resposta contém uma lista JSON, em que cada item da lista corresponde a uma fonte de dados.

Exemplo:

{
 "dataSource": [
  {
   "dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource1:"
  },
  {
   "dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource2:"
  }
 ]
}

Comando 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

Obter uma lista de alimentos consumidos de uma fonte de dados.

Use o dataSource.dataStreamId de cada uma das fontes na etapa 1, por sua vez, para recuperar as listas de alimentos consumidos.

O datasetId é o início e o fim do período necessário, em nanossegundos, conforme definido no recurso do conjunto de dados.

Por exemplo, 1546300800000000000-1546387200000000000 representa a datasetId para 01 Jan 2019 00:00:00 UTC a 02 Jan 2019 00:00:00.

Método HTTP

GET

Request URL

https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/1546300800000000000-1546387200000000000?fields=point%2Fvalue%2FstringVal

Resposta

{
 "point": [
  {
   "value": [
    {},
    {},
    {
     "stringVal": "apple"
    }
   ]
  },
  {
   "value": [
    {},
    {},
    {
     "stringVal": "banana"
    }
   ]
  },
  {
   "value": [
    {},
    {},
    {
     "stringVal": "carrot"
    }
   ]
  }
 ]
}

Comando 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