Leer los alimentos comidos

Android

Tu aplicación puede obtener una lista de los alimentos que se comieron dentro de un período específico crear una solicitud de lectura de datos y consultar DataType.TYPE_NUTRITION, como 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 la lectura de datos, consulta Cómo trabajar con el Historial de entrenamiento.

REST

La recuperación de una lista de alimentos consumidos a través de la API de REST es un proceso de proceso:

  1. Recupera una lista de fuentes de datos disponibles para com.google.nutrition el tipo de datos. Como alternativa, si ya se conocen los detalles de la fuente de datos puedes usarlas directamente en el siguiente paso.
  2. Obtén una lista de los alimentos que se comieron de cada fuente de datos.
  3. (Si hay más de una fuente de datos) combina las listas de alimentos. elementos dentro de la aplicación cliente.

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 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, y cada elemento de la lista 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' \
      --compressed

Obtención de una lista de alimentos consumidos a partir de una fuente de datos

Usa el dataSource.dataStreamId de cada una de las fuentes del paso 1, en turno, para recuperar las listas de los alimentos que se comieron.

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 la datasetId del 1 de enero de 2019 a las 00:00:00 UTC al 02 de enero de 2019 a las 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