Ler alimentos consumidos

Android

Seu app pode receber uma lista de alimentos consumidos dentro de um período especificado criando uma solicitação de leitura de dados e consultando DataType.TYPE_NUTRITION, conforme mostrado no exemplo a seguir:

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

Para saber mais sobre a leitura de dados, consulte Trabalhar com o Histórico de Condicionamento Físico.

REST

A recuperação de uma lista de alimentos consumidos pela API REST é um processo de três estágios:

  1. Recuperar uma lista de fontes de dados disponíveis para o tipo de dado 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. Receba uma lista de alimentos consumidos de cada fonte de dados, por sua vez.
  3. (Se houver mais de uma fonte de dados) combine as listas de itens de alimentos no aplicativo cliente.

Como recuperar uma lista de fontes de dados de alimentos

Como apenas o datasource.dataStreamId é exigido de 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 for bem-sucedida, a resposta será um código de status 200 OK. O corpo da resposta contém uma lista JSON, cada item na lista correspondente a uma fonte de dados.

Exemplo:

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

ComandoCURL

$ 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

Coleta de uma lista de alimentos consumidos com base em 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 fim do período necessário, em nanossegundos, conforme definido no recurso do conjunto de dados.

Por exemplo, 1546300800000000000-1546387200000000000 representa o datasetId de 01 de janeiro de 2019 00:00:00 UTC a 02 de janeiro de 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"
    }
   ]
  }
 ]
}

ComandoCURL

$ 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