管理数据源

您可以通过 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"