W tej sekcji pokazane jest zbiorcze dzienne odżywianie z określonego źródła danych. Odpowiedź zawiera listę zasobników (po jednym w okresie 24 godzin), każdy z pojedynczym zbiorem danych i punktem danych zawierający pole dla wszystkich zarejestrowanych typów danych dotyczących odżywiania. Jeśli w danym okresie nie istnieją żadne wartości odżywcze, nie ma zbioru danych. Jeśli zostanie zarejestrowane więcej niż meal_type
, wartość zostanie ustawiona na UNKNOWN
.
Android
Aplikacja może odczytywać zbiorcze dzienne dane o odżywianiu dla użytkownika, tworząc żądanie odczytu danych i określając zagregowany typ danych 'DataType.TYPE_NUTRITION' i 'DataType.AGGREGATE_NUTRITION_SUMMARY' jak pokazano w poniższym przykładzie:
val readRequest = DataReadRequest.Builder()
.aggregate(DataType.AGGREGATE_NUTRITION_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
REST
Aplikacja może odczytywać zbiorcze dane dotyczące odżywiania użytkownika, wysyłając żądanie POST
i wysyłając zapytanie do określonego źródła danych. Musisz utworzyć osobne zapytanie dla każdego źródła danych.
Metoda HTTP
POST
URL prośby
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, odpowiedzią będzie kod stanu 200 OK
. Treść odpowiedzi zawiera kod JSON reprezentujący źródło danych, w tym właściwość datasource.dataStreamId
, której możesz używać 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