혈압 데이터 쓰기

앱은 com.google.blood_pressure 데이터 유형에 써서 혈압 데이터를 기록할 수 있습니다. 이 데이터 유형에서 각 데이터 포인트는 단일 즉각적인 혈압 측정을 나타냅니다. 데이터 포인트에는 수축기 및 이완기 혈압, 측정 중 자세, 측정 위치에 관한 필드가 포함되어 있습니다.

  • systolicdiastolic 필드는 필수이며 다른 모든 필드는 선택사항입니다.
  • systolic (위쪽 숫자) 및 diastolic (아래쪽 숫자)의 압력은 mmHg로 측정됩니다.
  • 지정된 경우 자세는 다음 값 중 하나여야 합니다.
    • 1 - 서 있음
    • 2 - 앉아 있음
    • 3 - 누워 있음
    • 4 - 반쯤 누워 있음
  • 지정된 경우 측정 위치는 다음 값 중 하나여야 합니다.

    • 1 - 왼쪽 손목
    • 2 - 오른쪽 손목
    • 3 - 왼쪽 상완
    • 4 - 오른쪽 상완

Android

혈압 데이터 포인트를 쓰려면 다음 예와 같이 DataSourceTYPE_BLOOD_PRESSURE를 만듭니다.

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

요청 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 응답 상태 코드가 표시됩니다. 응답 본문에는 datasource.dataStreamId 속성을 비롯한 데이터 소스의 JSON 표현이 포함되어 있습니다. 이 ID를 dataSourceId로 사용하여 데이터를 추가합니다.

혈압 데이터 추가

com.google.blood_pressure 유형의 데이터 포인트를 만들어 데이터를 추가합니다.

HTTP 메소드

PATCH

요청 URL

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