本節說明如何讀取特定資料來源的每日匯總營養。回應中包含值區清單 (每 24 小時一個),每個資料集各有一個資料集和資料點,其中包含所有已記錄的營養資料類型欄位。如果特定時間範圍內沒有營養值,就不會有資料集。如果記錄多個 meal_type
,這個值會設為 UNKNOWN
。
Android
您的應用程式可以透過建立資料讀取要求,以及指定 'DataType.TYPE_NUTRITION' 和 'DataType.AGGREGATE_NUTRITION_SUMMARY' 資料類型的匯總,藉此讀取使用者的匯總每日營養資料,如以下範例所示:
val readRequest = DataReadRequest.Builder()
.aggregate(DataType.AGGREGATE_NUTRITION_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
REST
您的應用程式可發出 POST
要求並查詢指定資料來源,讀取使用者的匯總每日營養資料。您必須為每個資料來源分別執行查詢。
HTTP 方法
POST
要求網址
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
要求主體
{
"aggregateBy": [{
"dataSourceId":
"raw:com.google.nutrition:407408718192:MyDataSource"
}],
"bucketByTime": { "durationMillis": 86400000 },
"startTimeMillis": 1471244400000,
"endTimeMillis": 1471259040000
}
回應
如果資料來源建立成功,回應會是 200 OK
狀態碼。回應主體包含資料來源的 JSON 表示法,其中包含可做為後續要求的資料來源 ID 的 datasource.dataStreamId
屬性。
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