W tej sekcji pokazujemy, jak odczytać zbiorcze dzienne dane o odżywianiu z określonego źródła danych. Odpowiedź zawiera listę zasobników (po jednym na 24-godzinny okres), z których każdy zawiera pojedynczy zbiór danych i punkt danych, który zawiera pole dla wszystkich zarejestrowanych typów danych o odżywianiu. Jeśli w danym okresie nie ma wartości odżywczych, nie ma też zbioru danych. Jeśli zarejestrowano więcej niż 1 wartość meal_type, zostanie ona ustawiona na UNKNOWN.
Android
Twoja aplikacja może odczytywać zbiorcze dzienne dane o odżywianiu użytkownika, tworząc żądanie odczytu danych i określając agregację dla „DataType.TYPE_NUTRITION” i „DataType.AGGREGATE_NUTRITION_SUMMARY” typów danych, jak pokazano w tym przykładzie:
val readRequest = DataReadRequest.Builder()
.aggregate(DataType.AGGREGATE_NUTRITION_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
REST
Twoja aplikacja może odczytywać zbiorcze dzienne dane o odżywianiu użytkownika, wysyłając żądanie POST i wysyłając zapytanie do określonego źródła danych. Dla każdego źródła danych musisz wysłać osobne zapytanie.
Metoda HTTP
POST
Adres URL żądania
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Treść żądania
{
"aggregateBy": [{
"dataSourceId":
"raw:com.google.nutrition:407408718192:MyDataSource"
}],
"bucketByTime": { "durationMillis": 86400000 },
"startTimeMillis": 1471244400000,
"endTimeMillis": 1471259040000
}
Odpowiedź
Jeśli źródło danych zostanie utworzone, odpowiedź będzie zawierać kod stanu 200 OK. Treść odpowiedzi zawiera reprezentację źródła danych w formacie JSON, w tym właściwość datasource.dataStreamId, której możesz użyć jako identyfikatora źródła danych w kolejnych żądaniach.
Polecenie 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