您的应用可以通过写入 com.google.blood_pressure
数据类型来记录血压数据。在此数据类型中,每个数据点表示一个瞬时血压读数。数据点包含收缩压和舒张压的字段、读取期间的身体位置以及执行测量的身体位置。
systolic
和diastolic
字段为必填字段,其他所有字段均为选填字段。systolic
(上限数字)和diastolic
(最小值)的压力以 mmHg 为单位。- 如果指定,则 body 位置必须具有以下值之一:
1
- 站立2
- 坐下3
- 躺着4
- 半倾斜
如果指定,则测量位置必须具有以下值之一:
1
- 左手腕2
- 右手腕3
- 左上臂4
- 右上臂
Android
如需写入血压数据点,请新建 TYPE_BLOOD_PRESSURE
的 DataSource
,如以下示例所示。
val bloodPressureSource = DataSource.Builder()
.setDataType(TYPE_BLOOD_PRESSURE)
// ...
.build()
val bloodPressure = DataPoint.builder(bloodPressureSource)
.setTimestamp(timestamp, TimeUnit.MILLISECONDS)
.setField(FIELD_BLOOD_PRESSURE_SYSTOLIC, 120.0f)
.setField(FIELD_BLOOD_PRESSURE_DIASTOLIC, 80.0f)
.setField(FIELD_BODY_POSITION, BODY_POSITION_SITTING)
.setField(
FIELD_BLOOD_PRESSURE_MEASUREMENT_LOCATION,
BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_UPPER_ARM)
.build()
REST
创建数据源
如要写入血压数据点,请创建新的数据源
HTTP 方法
POST
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataSources
请求正文
{
"dataStreamName": "BloodPressure",
"type": "raw",
"application": {
"detailsUrl": "http://example.com",
"name": "My Example App",
"version": "1"
},
"dataType": {
"name": "com.google.blood_pressure"
}
}
答案
如果您的数据源已成功创建,您会收到 200 OK
HTTP 响应状态代码。响应正文包含数据源的 JSON 表示法,其中包括 datasource.dataStreamId
属性。将此 ID 用作 dataSourceId
即可添加数据。
添加血压数据
通过创建 com.google.blood_pressure
类型的数据点来添加数据。
HTTP 方法
PATCH
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000
请求正文
为清楚起见,下面显示的 JSON 正文带有注释,以显示 health 字段常量的用法。
{
"dataSourceId": "datasource.dataStreamId",
"maxEndTimeNs": 1574159699023000000,
"minStartTimeNs": 1574159699023000000,
"point": [
{
"dataTypeName": "com.google.blood_pressure",
"endTimeNanos": 1574159699023000000,
"startTimeNanos": 1574159699023000000,
"value": [
{
"fpVal": 120.0 // systolic
},
{
"fpVal": 80.0 // diastolic
},
{
"intVal": 2 // Body position enum value for sitting
},
{
"intVal": 3 // Location enum value for left upper arm
}
]
}
]
}