Questa sezione mostra la lettura dei dati nutrizionali giornalieri aggregati da un'origine dati specifica. La risposta contiene un elenco di bucket (uno per periodo di 24 ore),
ciascuno con un singolo set di dati e un punto dati che contiene un campo per tutti i tipi di dati nutrizionali registrati. Se non esistono valori nutrizionali per un determinato periodo di tempo, non esiste alcun set di dati. Se vengono registrati più meal_type, il valore verrà impostato su UNKNOWN.
Android
La tua app può leggere i dati nutrizionali giornalieri aggregati per un utente creando una richiesta di lettura dei dati e specificando l'aggregazione per i tipi di dati 'DataType.TYPE_NUTRITION' e 'DataType.AGGREGATE_NUTRITION_SUMMARY', come mostrato nell'esempio seguente:
val readRequest = DataReadRequest.Builder()
.aggregate(DataType.AGGREGATE_NUTRITION_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
REST
La tua app può leggere i dati nutrizionali giornalieri aggregati di un utente
effettuando una richiesta POST ed eseguendo query sull'origine dati specificata. Devi
creare una query separata per ogni origine dati.
Metodo HTTP
POST
URL richiesta
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Corpo della richiesta
{
"aggregateBy": [{
"dataSourceId":
"raw:com.google.nutrition:407408718192:MyDataSource"
}],
"bucketByTime": { "durationMillis": 86400000 },
"startTimeMillis": 1471244400000,
"endTimeMillis": 1471259040000
}
Risposta
Se l'origine dati viene creata correttamente, la risposta è un codice di stato 200 OK. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati, inclusa una proprietà datasource.dataStreamId che puoi utilizzare come ID origine dati per le richieste successive.
Comando CURL
$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request POST \
--header "Content-Type: application/json;encoding=utf-8" --data @aggregate.json \
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate