Leer los alimentos que ingeriste

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:

  1. 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.
  2. Obtener una lista de los alimentos que se comen de cada fuente de datos
  3. (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