Android
Tu app puede obtener una lista de los alimentos que se comen en un período específico mediante la creación de una solicitud de lectura de datos y la consulta de 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 Cómo trabajar con el historial de entrenamiento.
REST
Recuperar una lista de alimentos que se comen a través de la API de REST es un proceso de tres etapas:
- Recupera una lista de 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, puedes usarlos directamente en el siguiente paso. - Obtener una lista de los alimentos que se comen de cada fuente de datos
- (Si hay más de una fuente de datos), combina las listas de alimentos dentro de la aplicación cliente.
Recuperar una lista de fuentes de datos de alimentos
Como solo se requiere la 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 se ejecuta de forma correcta, la respuesta es un código de estado 200 OK
. El cuerpo de la respuesta contiene una lista JSON, cada elemento de la lista correspondiente 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' \ --compressed
Obtener una lista de alimentos consumidos de una fuente de datos
A su vez, usa el dataSource.dataStreamId
de cada una de las fuentes en el paso 1 para recuperar las listas de alimentos consumidos.
datasetId
es el inicio y el final del período requerido, en nanosegundos, como se define en el recurso de conjunto de datos.
Por ejemplo, 1546300800000000000-1546387200000000000
representa el datasetId
del 1 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