Lettura degli alimenti mangiati

Android

La tua app può ottenere un elenco di alimenti assunti entro un periodo di tempo specificato 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, consulta l'articolo Usare la cronologia dell'attività fisica.

REST

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

  1. Recupera un elenco di 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. Ottieni a sua volta un elenco di alimenti assunti da ogni origine dati.
  3. Se esistono più origini dati, combina gli elenchi di elementi alimentari all'interno dell'applicazione client.

Recupero di un elenco di origini dati alimentari in corso...

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

Metodo HTTP

GET

URL di richiesta

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

Risposta

Se l'operazione ha esito positivo, la risposta è un codice di stato 200 OK. Il corpo della risposta contiene un elenco JSON, in cui ogni elemento dell'elenco corrisponde a un'origine dati.

Ad esempio:

{
 "dataSource": [
  {
   "dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource1:"
  },
  {
   "dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource2:"
  }
 ]
}

Comando CNAME

$ 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 di alimenti assunti da un'origine dati

Usa il dataSource.dataStreamId di ciascuna delle origini nel passaggio 1, a sua volta, per recuperare gli elenchi di alimenti consumati.

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

Ad esempio, 1546300800000000000-1546387200000000000 rappresenta datasetId per il periodo 01 gen 2019 00:00:00 UTC fino al 02 gen 2019 00:00:00.

Metodo HTTP

GET

URL di richiesta

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 CNAME

$ 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