Users.dataSources: update

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

数据源由其 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 所收集数据、将数据插入 Fitness API 或从 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 对实际数据调用此方法,然后查看响应。