您可以通过 Fitness REST API 创建、获取和更新数据源。数据源表示 唯一的传感器数据源。您使用数据源向健身数据中插入健身数据 存储,您可以检索由特定数据源插入的健身数据。
数据源由 Users.dataSources
表示
资源。
创建数据源
此示例演示了如何创建名为“MyDataSource”的新数据源 用于提供步数增量。
- HTTP 方法
- 投放后
- 请求网址
https://www.googleapis.com/fitness/v1/users/me/dataSources
- 请求正文
{ "dataStreamName": "MyDataSource", "type": "derived", "application": { "detailsUrl": "http://example.com", "name": "Foo Example App", "version": "1" }, "dataType": { "field": [ { "name": "steps", "format": "integer" } ], "name": "com.google.step_count.delta" }, "device": { "manufacturer": "Example Manufacturer", "model": "ExampleTablet", "type": "tablet", "uid": "1000001", "version": "1.0" } }
- 响应
如果数据源成功创建,响应将处于
200 OK
状态 代码。响应正文包含数据源的 JSON 表示法, 包括datasource.dataStreamId
属性,您可以将其用作后续请求的数据源 ID。- Curl 命令
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X POST \ --header "Content-Type: application/json;encoding=utf-8" -d @createds.json \ "https://www.googleapis.com/fitness/v1/users/me/dataSources"
获取特定的数据源
此示例演示了如何检索数据源(“MyDataSource”)
创建 Deployment 清单创建新的数据源时
dataStreamId
包含唯一标识符(在下列列表中显示为“1234567890”)
示例)。这是您的开发者项目编号,此编号与
使用该特定开发者账号发出的所有请求请务必使用
来自您创建的数据源的 dataStreamId
。
- HTTP 方法
- 获取
- 请求网址
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
- 请求正文
- 无
- 响应
- 如果数据源存在,则响应为
200 OK
状态代码。响应正文包含 数据源的 JSON 表示法。 - Curl 命令
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X GET
--header "Content-Type: application/json;encoding=utf-8"
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"
获取汇总数据
此示例演示了如何查询特定数据源以进行汇总
数据,在本示例中为 estimated_steps
,即用于显示
Google 健身应用中的步数。请注意,JSON 请求中的时间戳
以毫秒为单位。
- HTTP 方法
- 投放后
- 请求网址
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
- 请求正文
{ "aggregateBy": [{ "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps" }], "bucketByTime": { "durationMillis": 86400000 }, "startTimeMillis": 1454284800000, "endTimeMillis": 1455062400000 }
- 响应
如果数据源存在,则响应为
200 OK
状态代码。通过 响应正文包含数据源的 JSON 表示法。- Curl 命令
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X POST \ --header "Content-Type: application/json;encoding=utf-8" -d @aggregate.json \ "https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate"
更新数据源
此示例演示了如何更新数据的名称和设备版本 来源。
- HTTP 方法
- PUT
- 请求网址
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
- 请求正文
{ "dataStreamId": "derived:com.google.step_count.delta:1234567890:Example Manufacturer:ExampleTablet:1000001:MyDataSource", "dataStreamName": "MyDataSource", "type": "derived", "application": { "detailsUrl": "http://example.com", "name": "Foo Example App", "version": "1" }, "dataType": { "field": [ { "name": "steps", "format": "integer" } ], "name": "com.google.step_count.delta" }, "device": { "manufacturer": "Example Manufacturer", "model": "ExampleTablet", "type": "tablet", "uid": "1000001", "version": "2.0" } }
- 响应
如果数据源已成功更新,响应将显示为
200 OK
状态 代码。响应正文包含数据源的 JSON 表示形式。- Curl 命令
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X PUT \ --header "Content-Type: application/json;encoding=utf-8" -d @updateds.json \ "https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"
删除数据源
此示例演示了如何删除数据源。
- HTTP 方法
- 删除
- 请求网址
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
- 请求正文
- 无
- 响应
- 如果数据源已成功删除,则响应状态为
200 OK
代码。响应正文包含数据源的 JSON 表示, 已被删除。 - Curl 命令
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X DELETE \ --header "Content-Type: application/json;encoding=utf-8" \ "https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"