Users.dataSources: create

创建在属于此用户的所有数据源中唯一的新数据源。

数据源是传感器数据的唯一来源。数据源可能会公开来自本地或配套设备上的硬件传感器的原始数据。它们还可以公开通过转换或合并其他数据源而创建的派生数据。同一数据类型可以有多个数据源。插入到 Fitness API 或从 Fitness API 读取的每个数据集中的每个数据点都有一个关联的数据源。

每个数据源都会生成唯一的数据集更新流,并具有唯一的数据源标识符。并非所有对数据源的更改都会影响数据流 ID,因此同一应用/设备的更新版本收集的数据仍然可以被视为属于同一数据源。

数据源是根据所创建数据源的内容使用服务器生成的字符串来标识的。调用此方法时,不应设置 dataStreamId 字段。服务器将使用正确的格式自动生成该文件。如果设置了 dataStreamId,则它必须与服务器将生成的格式匹配。此格式是数据源中的一些字段的组合,并具有特定顺序。如果不匹配,请求将失败并显示错误。

如果指定未知类型的 DataType(以“com.google.”开头),则会创建具有自定义数据类型的 DataSource。自定义数据类型只能由创建它们的应用读取。自定义数据类型已弃用,请改用标准数据类型。

除了数据源 ID 中包含的数据源字段外,该数据还包含在创建数据源时进行身份验证的开发者项目编号。读取公开数据类型的任何其他开发者读取此开发者项目编号时,系统会对其进行混淆处理。立即试用

请求

HTTP 请求

POST https://www.googleapis.com/fitness/v1/users/userId/dataSources

参数

参数名称 说明
路径参数
userId string 为识别出的人员创建数据源。使用 me 指示经过身份验证的用户。目前仅支持 me

授权

此请求需要获得以下至少一个范围的授权:

范围
https://www.googleapis.com/auth/fitness.activity.write
https://www.googleapis.com/auth/fitness.location.write
https://www.googleapis.com/auth/fitness.body.write
https://www.googleapis.com/auth/fitness.nutrition.write
https://www.googleapis.com/auth/fitness.blood_pressure.write
https://www.googleapis.com/auth/fitness.blood_glucose.write
https://www.googleapis.com/auth/fitness.oxygen_saturation.write
https://www.googleapis.com/auth/fitness.body_temperature.write
https://www.googleapis.com/auth/fitness.reproductive_health.write

如需了解详情,请参阅身份验证和授权页面。

请求正文

在请求正文中,提供具有以下属性的 Users.dataSources 资源

属性名称 说明 备注
必需属性
application nested object 将传感器数据馈送到平台的应用的相关信息。
application.name string 此应用的名称。REST 客户端必须填写此字段,但我们不强制要求此名称的唯一性。我们提供它只是为了方便其他开发者确定是哪一个 REST 创建了应用程序或数据源。
dataType nested object 数据类型定义了由 Fitness API 收集、插入或查询的数据流的架构。
dataType.field[] list 字段表示数据类型的一个维度。
dataType.field[].format string 数据类型中每个字段支持的不同格式。

可接受的值:
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string 定义数据的名称和格式。与数据类型名称不同,字段名称没有命名空间,只需要在数据类型中具有唯一性。
dataType.name string 每种数据类型都有一个唯一的命名空间名称。com.google 命名空间中的所有数据类型均作为平台的一部分进行共享。
device nested object 表示可以容纳传感器的集成设备(例如手机或穿戴式设备)。
device.manufacturer string 产品/硬件的制造商。
device.model string 设备的最终用户可见型号名称。
device.type string 表示设备类型的常量。

可接受的值:
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string 硬件的序列号或其他唯一 ID。当任何未创建数据源的 REST 或 Android 客户端读取此字段时,系统会对其进行混淆处理。只有数据源创建者才会看到以清晰标准形式显示的 uid 字段。

混淆处理可保持相等性;也就是说,给定两个 ID,如果 id1 == id2,则 obfuscated(id1) == obfuscated(id2)。

device.version string 设备硬件/软件的版本字符串。
type string 用于描述此数据源类型的常量。指示此数据源是生成原始数据还是派生数据。

可接受的值:
  • "derived"
  • "raw"

响应

如果成功,此方法将在响应正文中返回 Users.dataSources 资源

试试看!

请使用下面的 API Explorer 对实际数据调用此方法,并查看响应。