將特定類型的資料或串流化為值區,除以指定值 邊界類型包含多個類型和多個資料集 每個要求都能將來源匯總至單一值區類型。 立即試用。
要求
HTTP 要求
POST https://www.googleapis.com/fitness/v1/users/userId/dataset:aggregate
參數
參數名稱 | 值 | 說明 |
---|---|---|
路徑參數 | ||
userId |
string |
所識別人士的匯總資料。使用 me 表示
通過驗證的使用者目前僅支援 me 。
|
授權
這項要求需要授權,且至少要有下列其中一個範圍:
範圍 |
---|
https://www.googleapis.com/auth/fitness.activity.read |
https://www.googleapis.com/auth/fitness.activity.write |
https://www.googleapis.com/auth/fitness.location.read |
https://www.googleapis.com/auth/fitness.location.write |
https://www.googleapis.com/auth/fitness.body.read |
https://www.googleapis.com/auth/fitness.body.write |
https://www.googleapis.com/auth/fitness.nutrition.read |
https://www.googleapis.com/auth/fitness.nutrition.write |
https://www.googleapis.com/auth/fitness.blood_pressure.read |
https://www.googleapis.com/auth/fitness.blood_pressure.write |
https://www.googleapis.com/auth/fitness.blood_glucose.read |
https://www.googleapis.com/auth/fitness.blood_glucose.write |
https://www.googleapis.com/auth/fitness.oxygen_saturation.read |
https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
https://www.googleapis.com/auth/fitness.body_temperature.read |
https://www.googleapis.com/auth/fitness.body_temperature.write |
https://www.googleapis.com/auth/fitness.reproductive_health.read |
https://www.googleapis.com/auth/fitness.reproductive_health.write |
詳情請參閱「驗證與授權」網頁。
要求主體
在要求主體中,提供具有以下結構的資料:
{ "startTimeMillis": long, "endTimeMillis": long, "aggregateBy": [ { "dataTypeName": string, "dataSourceId": string } ], "filteredDataQualityStandard": [ string ], "bucketByTime": { "durationMillis": long, "period": { "type": string, "value": integer, "timeZoneId": string } }, "bucketBySession": { "minDurationMillis": long }, "bucketByActivityType": { "minDurationMillis": long, "activityDataSourceId": string }, "bucketByActivitySegment": { "minDurationMillis": long, "activityDataSourceId": string } }
屬性名稱 | 值 | 說明 | 附註 |
---|---|---|---|
startTimeMillis |
long |
時間範圍的開始時間。與這段時間範圍重疊的資料會匯總。時間以毫秒為單位,自 Epoch 紀元時間 (含) 起算。 | |
endTimeMillis |
long |
時間範圍的結束時間。與這段時間範圍重疊的資料會匯總。時間以毫秒為單位,自 Epoch 紀元時間 (含) 起算。 | |
aggregateBy[] |
list |
要匯總的資料規格。必須提供至少一個 aggregateBy 規格。系統會使用相同的特徵分塊條件匯總指定的所有資料。每個 aggregateBy 規格的回應中都會有一個資料集。 | |
aggregateBy[].dataTypeName |
string |
要匯總的資料類型。所有提供此資料類型的資料來源都會在匯總過程中提供資料。回應會包含這個資料類型名稱的單一資料集。資料集會有以下衍生的資料來源 ID: | |
aggregateBy[].dataSourceId |
string |
要匯總的資料來源 ID。匯總作業只會納入指定資料來源 ID 的資料。若有指定,這個資料來源必須存在。提供的憑證中的 OAuth 範圍必須授予這個資料類型的讀取權限。回應中的資料集會具有相同的資料來源 ID。注意:資料可以按 dataTypeName 或 dataSourceId 進行匯總,無法同時依兩者匯總。 | |
filteredDataQualityStandard[] |
list |
請勿填入這個欄位。系統會忽略這項資訊。 | |
bucketByTime |
nested object |
指定按照單一時間間隔匯總資料。與其他特徵分塊規格互斥。 | |
bucketByTime.durationMillis |
long |
指明結果值區根據確切的 durationMillis 時間範圍匯總資料。凡是不含任何資料的時間範圍,都會納入含有空白資料集的回應中。 | |
bucketByTime.period |
nested object |
||
bucketByTime.period.type |
string |
可接受的值為:
|
|
bucketByTime.period.value |
integer |
||
bucketByTime.period.timeZoneId |
string |
org.joda.timezone.DateTimeZone | |
bucketBySession |
nested object |
指明要按使用者工作階段匯總資料。如果資料不在工作階段的時間範圍內,就不會納入回應。與其他特徵分塊規格互斥。 | |
bucketBySession.minDurationMillis |
long |
指定只有持續時間超過 minDurationMillis 的工作階段會視為匯總資料的容器, | |
bucketByActivityType |
nested object |
指定是否要依記錄資料時執行的活動類型匯總資料。針對特定活動類型 (.指定時間範圍) 記錄的所有資料都會匯總至同一個值區。在使用者閒置期間記錄的資料不會納入回應。與其他特徵分塊規格互斥。 | |
bucketByActivityType.minDurationMillis |
long |
指定只有持續時間超過 minDurationMillis 的活動區隔,會被視為匯總資料的容器。 | |
bucketByActivityType.activityDataSourceId |
string |
如未指定特定 activityDataSourceId,系統會使用預設的活動串流。 | |
bucketByActivitySegment |
nested object |
指明要匯總使用者記錄的每個活動區隔資料。與 bucketByActivitySegment 類似,但是針對每個活動區隔進行分組,而非所有同類型區隔。與其他特徵分塊規格互斥。 | |
bucketByActivitySegment.minDurationMillis |
long |
指定只有持續時間超過 minDurationMillis 的活動區隔,會被視為匯總資料的容器。 | |
bucketByActivitySegment.activityDataSourceId |
string |
如未指定特定 activityDataSourceId,系統會使用預設的活動串流。 |
回應
如果成功的話,這個方法會傳回回應內文,其結構如下:
{ "bucket": [ { "type": string, "startTimeMillis": long, "endTimeMillis": long, "dataset": [ users.dataSources.datasets Resource ], "session": { "id": string, "name": string, "description": string, "startTimeMillis": long, "endTimeMillis": long, "modifiedTimeMillis": long, "application": { "packageName": string, "version": string, "detailsUrl": string, "name": string }, "activityType": integer, "activeTimeMillis": long }, "activity": integer } ] }
屬性名稱 | 值 | 說明 | 附註 |
---|---|---|---|
bucket[] |
list |
包含匯總資料的值區清單。 | |
bucket[].type |
string |
值區的類型代表資料匯總在值區中執行的方式。
可接受的值為:
|
|
bucket[].startTimeMillis |
long |
匯總資料的開始時間,以毫秒為單位自 Epoch 紀元時間 (含) 起算。 | |
bucket[].endTimeMillis |
long |
匯總資料的結束時間,以 Epoch 紀元時間 (含) 起算的毫秒數表示。 | |
bucket[].dataset[] |
list |
要求中的每個 AggregateBy 都會有一個資料集。 | |
bucket[].session |
nested object |
適用於 Bucket.Type.SESSION | |
bucket[].session.id |
string |
由用戶端產生的 ID,在這位使用者擁有的所有工作階段中皆不重複。 | |
bucket[].session.name |
string |
使用者可理解的工作階段名稱。 | |
bucket[].session.description |
string |
這個工作階段的說明。 | |
bucket[].session.startTimeMillis |
long |
開始時間,以毫秒為單位自 Epoch 紀元時間 (含) 起算。 | |
bucket[].session.endTimeMillis |
long |
結束時間,以毫秒為單位自 Epoch 紀元時間 (含) 起算。 | |
bucket[].session.modifiedTimeMillis |
long |
指出上次修改工作階段的時間戳記。 | |
bucket[].session.application |
nested object |
建立工作階段的應用程式。 | |
bucket[].session.application.packageName |
string |
這個應用程式的套件名稱。在 Android 應用程式建立時,這個 ID 會用來當做專屬 ID,但 REST 用戶端無法指定。REST 用戶端會在資料來源資料串流 ID 中顯示開發人員專案編號,而不是 packageName。 | |
bucket[].session.application.version |
string |
應用程式的版本。每當應用程式以會影響資料運算的方式變更時,您就應該更新這個欄位。 | |
bucket[].session.application.detailsUrl |
string |
非必要的 URI,可用來連結至應用程式。 | |
bucket[].session.application.name |
string |
這個應用程式的名稱。這對於 REST 用戶端來說是必要項目,但是我們不會強制規定這個名稱。為方便其他開發人員找出建立應用程式或資料來源的 REST 版本,這項資料可以派上用場。 | |
bucket[].session.activityType |
integer |
這個工作階段代表的活動類型。 | |
bucket[].session.activeTimeMillis |
long |
工作階段持續時間。start_time_millis 和 end_time_millis 可以定義完整工作階段時間,但活動時間可以較短,並且由 Active_time_millis 指定。如果已知工作階段的閒置時間,應該透過 com.google.activity.segment 資料點,並加入「持續」活動值 |
|
bucket[].activity |
integer |
適用於 Bucket.Type.ACTIVITY_TYPE 和 Bucket.Type.ACTIVITY_SEGMENT |
試試看!
使用下方的 APIs Explorer,針對即時資料呼叫這個方法,看看會有什麼結果。