Android
Tu app puede obtener una lista de los alimentos que se comieron en un período específico si crea una solicitud de lectura de datos y consulta DataType.TYPE_NUTRITION, como se muestra en el siguiente ejemplo:
val readRequest = DataReadRequest.Builder()
.read(DataType.TYPE_NUTRITION)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
Para obtener más información sobre cómo leer datos, consulta Trabaja con el historial de actividad física.
REST
Recuperar una lista de alimentos consumidos a través de la API de REST es un proceso de tres etapas:
- Recupera una lista de las fuentes de datos disponibles para el tipo de datos
com.google.nutrition. Como alternativa, si ya se conocen los detalles de la fuente de datos, se pueden usar directamente en el siguiente paso. - Obtener una lista de los alimentos que se comieron de cada fuente de datos por turno
- (Si hay más de una fuente de datos) combina las listas de elementos de comida en la aplicación del cliente.
Cómo recuperar una lista de fuentes de datos de alimentos
Como solo se requiere el datasource.dataStreamId de cada fuente de datos, se puede usar una máscara de campo, como se muestra aquí, para limitar la respuesta solo a esta propiedad.
Método HTTP
GET
Request URL (URL de solicitud)
https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)Respuesta
Si la solicitud se completa de forma correcta, la respuesta es un código de estado 200 OK. El cuerpo de la respuesta contiene una lista JSON, en la que cada elemento corresponde a una fuente de datos.
Por ejemplo:
{
"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' \
--compressedCómo obtener una lista de los alimentos consumidos a partir de una fuente de datos
Usa el dataSource.dataStreamId de cada una de las fuentes del paso 1, a su vez, para recuperar las listas de alimentos consumidos.
datasetId es el inicio y el final del período requerido, en nanosegundos, según se define en el recurso del conjunto de datos.
Por ejemplo, 1546300800000000000-1546387200000000000 representa el datasetId para 01 de enero de 2019, 00:00:00 UTC al 02 de enero de 2019, 00:00:00.
Método HTTP
GET
Request URL (URL de solicitud)
https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/1546300800000000000-1546387200000000000?fields=point%2Fvalue%2FstringVal
Respuesta
{
"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