アプリは、com.google.blood_pressure
データ型に書き込むことで血圧データを記録できます。このデータ型では、各データポイントは単一の瞬間的な血圧の測定値を表します。データポイントには、最高血圧と最低血圧、読み取り中の身体の位置、測定を行った身体上の位置のフィールドが含まれます。
systolic
フィールドとdiastolic
フィールドは必須ですが、他はすべて省略可能です。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
リクエスト 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
}
]
}
]
}