创建在属于该用户的所有数据源中唯一的新数据源。
数据源是传感器数据的唯一来源。数据源可以公开来自本地设备或配套设备上的硬件传感器的原始数据。它们还可以公开通过转换或合并其他数据源创建的派生数据。同一数据类型可以有多个数据源。Fitness API 中插入或读取的每个数据集中的每个数据点都有关联的数据源。
每个数据源都会生成唯一的数据集更新流,并带有唯一的数据源标识符。并非所有对数据源的更改都会影响数据流 ID,因此,同一应用/设备的更新后的版本收集的数据可能仍会被视为属于同一数据源。
使用服务器根据生成的来源的内容生成的字符串来标识数据源。不应调用此方法时设置 dataStreamId
字段。它将由服务器以正确的格式自动生成。如果设置了 dataStreamId
,它必须与服务器生成的格式相匹配。这种格式组合了数据源中的某些字段,并具有特定顺序。如果不匹配,请求将失败并显示错误。
如果指定的数据类型不是已知类型(以“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 |
数据类型中每个字段支持的不同格式。 可接受的值:
|
|
dataType.field[].name |
string |
定义数据的名称和格式。与数据类型名称不同,字段名称不是命名空间,而是只需要在数据类型中具有唯一性。 | |
dataType.name |
string |
每种数据类型都有一个唯一的命名空间名称。com.google 命名空间中的所有数据类型都作为平台的一部分进行共享。 | |
device |
nested object |
表示可以放置传感器的集成设备(例如手机或穿戴式设备)。 | |
device.manufacturer |
string |
产品/硬件的制造商。 | |
device.model |
string |
设备的最终用户可见型号名称。 | |
device.type |
string |
表示设备类型的常量。
可接受的值:
|
|
device.uid |
string |
硬件的序列号或其他唯一 ID。如果任何 REST 或 Android 客户端没有创建数据源,则系统会对此字段进行混淆处理。只有数据源创建者才能以清晰和正常的形式看到 uid 字段。 混淆保持平等;也就是说,如果两个 ID 都相同,则如果 id1 == id2, obfuscated(id1) == obfuscated(id2),就会发生变化。 |
|
device.version |
string |
设备硬件/软件的版本字符串。 | |
type |
string |
描述此数据源类型的常量。指明此数据源是生成原始数据还是派生数据。
可接受的值:
|
响应
如果成功,此方法将在响应正文中返回 Users.dataSources 资源。
试试看!
请使用下面的 API Explorer 针对实际数据调用此方法并查看响应。