アプリは、com.google.blood_pressure
データ型に書き込むことで血圧データを記録できます。このデータ型では、各データポイントが 1 つの瞬間的な血圧の測定値を表します。データポイントには、最高血圧と最低血圧(読み取り中の身体の位置)、測定が行われた身体の位置に関するフィールドが含まれます。
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
}
]
}
]
}