Lettura degli alimenti consumati

Android

La tua app può ricevere un elenco di alimenti consumati in un determinato periodo di tempo creando una richiesta di lettura dei dati ed eseguendo query per DataType.TYPE_NUTRITION, come mostrato nell'esempio seguente:

val readRequest = DataReadRequest.Builder()
    .read(DataType.TYPE_NUTRITION)
    .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
    .build()

Per ulteriori informazioni sulla lettura dei dati, vedi Utilizzare la cronologia di fitness.

REST

Il recupero di un elenco di alimenti consumati tramite l'API REST prevede un processo in tre fasi:

  1. Recupera un elenco delle origini dati disponibili per il tipo di dati com.google.nutrition. In alternativa, se i dettagli dell'origine dati sono già noti, puoi utilizzarli direttamente nel passaggio successivo.
  2. Ottenere un elenco degli alimenti consumati da ogni origine dati a turno.
  3. (Se esiste più di un'origine dati) combina gli elenchi di alimenti all'interno dell'applicazione client.

Recupero di un elenco di origini dati relative agli alimenti

Poiché è richiesto solo il datasource.dataStreamId per ogni origine dati, è possibile utilizzare una maschera del campo, come mostrato qui, per limitare la risposta solo a questa proprietà.

Metodo HTTP

GET

Richiedi URL

https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)

Risposta

In caso di esito positivo, la risposta sarà un codice di stato 200 OK. Il corpo della risposta contiene un elenco JSON, con ogni elemento dell'elenco corrispondente a un'origine dati.

Ad esempio:

{
 "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

Ottenere un elenco degli alimenti consumati da un'origine dati

Utilizza a sua volta dataSource.dataStreamId di ciascuna delle origini del passaggio 1 per recuperare gli elenchi di alimenti consumati.

datasetId corrisponde all'inizio e alla fine del periodo di tempo richiesto, in nanosecondi, come definito nella risorsa del set di dati.

Ad esempio, 1546300800000000000-1546387200000000000 rappresenta il valore datasetId per il campo 01 gennaio 2019 00:00:00 UTC e 02 gennaio 2019 00:00:00.

Metodo HTTP

GET

Richiedi URL

https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/1546300800000000000-1546387200000000000?fields=point%2Fvalue%2FstringVal

Risposta

{
 "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