Users.dataSources: update

更新指定的数据源。除 version 外,dataStreamIddataTypetypedataStreamNamedevice 属性无法修改。

数据源通过其 dataStreamId 进行标识。立即试用

请求

HTTP 请求

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

参数

参数名称 说明
路径参数
dataSourceId string 要更新的数据源的数据流 ID。
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 创建了应用程序或数据源,我们特此提供了此信息。
dataStreamId string 此数据源生成的数据流的唯一标识符。该标识符包括:

  • 实体设备的制造商、型号和序列号 (UID)。
  • 应用的软件包名称或名称。软件包名称由 Android 应用创建数据源时使用。当数据源由 REST 客户端创建时,系统会使用开发者项目编号。
  • 数据源的类型。
  • 数据源的流名称。
请注意,并非所有数据源属性都会用作数据流标识符的一部分。特别是,我们没有采用硬件/应用的版本。这样,我们就可以通过版本更新保留相同的视频流。这也意味着两个 DataSource 对象可以代表相同的数据流,即使它们不相等。

Android 应用创建的数据流 ID 的确切格式是:type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

REST 客户端创建的数据流 ID 的确切格式是:type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

如果数据流 ID 中没有可选字段,则数据流 ID 中会省略这些字段。最小可行的数据流 ID 为:type:dataType.name:developer 项目编号

最后,在未创建数据源的任何 REST 或 Android 客户端读取数据时,系统会对开发者项目编号和设备 UID 进行混淆处理。只有数据源创建者清晰且正常地看到开发者项目编号。这意味着,一个客户端和另一个具有不同凭据的客户端将看到一组不同的 data_stream_ids。

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 针对实际数据调用此方法并查看响应。