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:
- 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. - Receba uma lista de alimentos consumidos de cada fonte de dados, por sua vez.
- (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