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