寫入血壓資料

您的應用程式可寫入 com.google.blood_pressure 資料類型來記錄血壓資料。在這個資料類型中,每個資料點代表單一即時血壓讀取。資料點包含收縮壓和舒張壓的欄位、讀數期間的身體位置,以及測量結果的位置。

  • systolicdiastolic 為必填欄位,其餘都是選用欄位。
  • systolic (上限) 與 diastolic (較低數字) 的壓力是以 mmHg 為單位測量。
  • 如果有指定,則主體位置必須有下列其中一個值:
    • 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

要求網址

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

要求網址

https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000

要求主體

為求清楚起見,下列註解的 JSON 主體會加註註解,以顯示使用欄位的欄位常數。

  {
    "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
          }
        ]
      }
    ]
  }