Questa sezione dimostra come leggere l'alimentazione giornaliera aggregata di una specifica
origine dati. La risposta contiene un elenco di bucket (uno ogni 24 ore), ognuno 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 di alimentazione per un determinato periodo di tempo, non è disponibile alcun set di dati. Se sono registrati più valori meal_type
, il valore verrà impostato su UNKNOWN
.
Android
L'app può leggere i dati aggregati giornalieri sull'alimentazione per un utente creando una richiesta di lettura dei dati e specificando l'aggregato per i tipi di dati 'DataType.TYPE_NUTRITION_#39; e 'DataType.AGGREGATE_NUTRITION_SUM', 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
L'app può leggere i dati nutrizionali giornalieri aggregati per un utente
inviando una richiesta POST
ed eseguendo query sull'origine dati specificata. Devi
eseguire una query separata per ogni origine dati.
Metodo HTTP
POST
URL di 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 CNAME
$ 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