Android
Seu app pode receber uma lista de alimentos consumidos em 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 mais informações sobre como ler dados, consulte Trabalhar com o histórico do Google Fit.
REST
Recuperar uma lista de itens alimentares consumidos usando a API REST é um processo de três etapas:
- 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. - Receba uma lista dos alimentos consumidos de cada fonte de dados.
- Se houver mais de uma fonte de dados, combine as listas de itens alimentares no aplicativo cliente.
Como extrair uma lista de fontes de dados de alimentos
Como apenas o datasource.dataStreamId é necessário de cada fonte de dados,
uma máscara de campo pode ser usada, como 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 a operação for bem-sucedida, a resposta será um código de status 200 OK. O corpo da resposta contém uma lista JSON, e cada item 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' \
--compressedComo conseguir uma lista de alimentos consumidos de uma fonte de dados
Use o dataSource.dataStreamId de cada uma das fontes na etapa 1, por
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 de conjunto de dados.
Por exemplo, 1546300800000000000-1546387200000000000 representa o datasetId de 01 de janeiro de 2019, às 00:00:00 UTC a 02 de janeiro de 2019, às 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