将特定类型的数据或数据流汇总到按给定值划分的存储分区中 边界类型。多个类型和多个数据集 每个请求的数据来源只能聚合为一种存储分区类型。 立即试用。
请求
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 |
时间段的开始时间。系统会汇总与此时间范围有交集的数据。时间以自纪元(含)以来的毫秒数表示。 | |
endTimeMillis |
long |
时间段的结束时间。系统会汇总与此时间范围有交集的数据。时间以自纪元(含)以来的毫秒数表示。 | |
aggregateBy[] |
list |
要汇总的数据的规范。必须至少提供一个 aggregateBy 规范。指定的所有数据将使用相同的分桶条件进行汇总。每个 totalBy 规范在响应中都有一个数据集。 | |
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 |
汇总数据的开始时间,以从公元纪年开始计算的毫秒数表示(包括这两个数值)。 | |
bucket[].endTimeMillis |
long |
汇总数据的结束时间,以从公元纪年开始计算的毫秒数表示(包括此时间)。 | |
bucket[].dataset[] |
list |
请求中的每个 AggregateBy 都有一个数据集。 | |
bucket[].session |
nested object |
适用于 Bucket.Type.SESSION | |
bucket[].session.id |
string |
客户端生成的标识符,此标识符在此特定用户拥有的所有会话中具有唯一性。 | |
bucket[].session.name |
string |
人类可读的会话名称。 | |
bucket[].session.description |
string |
此会话的说明。 | |
bucket[].session.startTimeMillis |
long |
开始时间,以从公元纪年开始计算的毫秒数(含边界值)进行表示。 | |
bucket[].session.endTimeMillis |
long |
结束时间,以从公元纪年开始计算的毫秒数表示(包括这两个数值)。 | |
bucket[].session.modifiedTimeMillis |
long |
指示会话上次修改时间的时间戳。 | |
bucket[].session.application |
nested object |
创建会话的应用。 | |
bucket[].session.application.packageName |
string |
此应用的软件包名称。此标识符在 Android 应用创建时用作唯一标识符,但无法由 REST 客户端指定。REST 客户端会将其开发者项目编号(而非 packageName)反映在数据源数据流 ID 中。 | |
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 定义完整的会话时间,但活动时间可以缩短,并通过 activity_time_millis 指定。如果会话期间的闲置时间已知,则还应通过 com.google.activity.segment 数据点插入,并将 STILL 活动值设为 |
|
bucket[].activity |
integer |
适用于 Bucket.Type.ACTIVITY_TYPE、Bucket.Type.ACTIVITY_SEGMENT |
试试看!
使用下面的 API Explorer 对实际数据调用此方法,然后查看响应。