In diesem Abschnitt wird das Lesen der aggregierten täglichen Ernährung aus einer bestimmten Datenquelle veranschaulicht. Die Antwort enthält eine Liste von Buckets (einer pro 24 Stunden), jeweils mit einem einzelnen Dataset und einem Datenpunkt, der ein Feld für alle erfassten Ernährungsdatentypen enthält. Wenn für einen bestimmten Zeitraum keine Ernährungswerte vorhanden sind, gibt es kein Dataset. Wenn mehr als ein meal_type
aufgezeichnet wird, wird der Wert auf UNKNOWN
gesetzt.
Android
Die App kann die aggregierten täglichen Ernährungsdaten für einen Nutzer lesen, indem sie eine Datenleseanfrage erstellt und die Aggregation für die Datentypen 'DataType.TYPE_NUTRITION' und 'DataType.AGGREGATE_NUTRITION_summary' angibt, wie im folgenden Beispiel gezeigt:
val readRequest = DataReadRequest.Builder()
.aggregate(DataType.AGGREGATE_NUTRITION_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
REST
Ihre App kann die aggregierten täglichen Ernährungsdaten für einen Nutzer lesen, indem sie eine POST
-Anfrage stellt und die angegebene Datenquelle abfragt. Sie müssen für jede Datenquelle eine separate Abfrage ausführen.
HTTP-Methode
POST
Anfrage-URL
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Anfragetext
{
"aggregateBy": [{
"dataSourceId":
"raw:com.google.nutrition:407408718192:MyDataSource"
}],
"bucketByTime": { "durationMillis": 86400000 },
"startTimeMillis": 1471244400000,
"endTimeMillis": 1471259040000
}
Antwort
Wenn die Datenquelle erfolgreich erstellt wurde, ist die Antwort ein 200 OK
-Statuscode. Der Antworttext enthält eine JSON-Darstellung der Datenquelle, einschließlich eines datasource.dataStreamId
-Attributs, das Sie als Datenquellen-ID für nachfolgende Anfragen verwenden können.
CURL-Befehl
$ 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