Google Health API는 생식 건강, 증상, 기분을 추적하기 위한 데이터 유형을 제공합니다. 이러한 유형을 사용하면 월경 기간, 배란 테스트 결과, 관련 신체적 및 정서적 상태를 기록할 수 있습니다.
지원되는 데이터 유형
| 데이터 유형 | 사용 가능한 작업 |
범위 |
|---|---|---|
|
월경 기간
|
create, update, batchDelete | .reproductive_health.writeonly |
|
기분
|
create, update, batchDelete | .mindfulness.writeonly |
|
배란 테스트
|
create, update, batchDelete | .reproductive_health.writeonly |
|
증상
|
create, update, batchDelete | .logged_symptoms.writeonly |
월경 기간
월경 기간은 사용자가 기록한 기간 간격을 나타냅니다. 필드 및 설명의 전체
목록은
MenstrualPeriod를 참고하세요.
기간 로깅 가이드라인
- 종료일은 필수 항목입니다. 모든 기간 레코드에는 종료일 또는 시간이 포함되어야 합니다. 종료일은 null일 수 없습니다.
- 진행 중인 기간 처리: 레코드가 생성될 때 종료일을 제공할 수 없는 경우 (예: 기간이 진행 중인 경우) 종료일을 시작일과 일치하도록 설정합니다. 기간이 종료되고 최종 종료일이 확인될 때까지 매일 레코드를 업데이트하고 종료일을 현재 날짜로 설정합니다.
- 확인된 기간: 모든 기간 레코드는 확인된 기간으로 처리됩니다.
월경 기간 만들기
월경 기간 항목을 만들려면 POST 요청을 menstrual-period 데이터 포인트 엔드포인트로 보냅니다. 응답에는 name 필드
에 data-point-id이 포함되어 있으며, 이는
일괄 삭제 또는
업데이트 (패치) 요청에 사용할 수 있습니다.
요청
POST https://health.googleapis.com/v4/users/me/dataTypes/menstrual-period/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"menstrualPeriod": {
"interval": {
"startTime": "2026-07-01T08:00:00Z",
"endTime": "2026-07-05T20:00:00Z"
},
"notes": "Regular flow reported."
}
}응답
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/menstrual-period/dataPoints/data-point-id",
"menstrualPeriod": {
"interval": {
"startTime": "2026-07-01T08:00:00Z",
"startUtcOffset": "0s",
"endTime": "2026-07-05T20:00:00Z",
"endUtcOffset": "0s",
"civilStartTime": {
"date": { "year": 2026, "month": 7, "day": 1 },
"time": { "hours": 8 }
},
"civilEndTime": {
"date": { "year": 2026, "month": 7, "day": 5 },
"time": { "hours": 20 }
}
},
"notes": "Regular flow reported."
}
}
}배란 테스트
배란 테스트 관찰을 기록합니다. 필드 및
설명의 전체 목록은
OvulationTest를 참고하세요.
배란 테스트 만들기
배란 테스트 결과를 기록하려면 POST 요청을 ovulation-test 데이터 포인트 엔드포인트로 보냅니다. 응답에는 name 필드가 포함되어 있으며
data-point-id, 이는 일괄 삭제 또는
업데이트 (패치) 요청에 사용할 수 있습니다.
요청
POST https://health.googleapis.com/v4/users/me/dataTypes/ovulation-test/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"ovulationTest": {
"sampleTime": {
"physicalTime": "2026-07-14T07:30:00Z"
},
"result": "LUTEINIZING_HORMONE_SURGE"
}
}응답
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/ovulation-test/dataPoints/data-point-id",
"ovulationTest": {
"sampleTime": {
"physicalTime": "2026-07-14T07:30:00Z",
"utcOffset": "0s",
"civilTime": {
"date": { "year": 2026, "month": 7, "day": 14 },
"time": { "hours": 7, "minutes": 30 }
}
},
"result": "LUTEINIZING_HORMONE_SURGE"
}
}
}증상
특정 타임스탬프에 경험한 신체적 증상을 기록합니다. 필드 및 설명의 전체
목록은
Symptoms를 참고하세요.
증상 로그 만들기
신체적 증상을 기록하려면 POST 요청을 symptoms 데이터 포인트 엔드포인트로 보냅니다. 응답에는 name 필드가 포함되어 있으며,
이는 data-point-id 일괄 삭제 또는
업데이트 (패치) 요청에 사용할 수 있습니다.
요청
POST https://health.googleapis.com/v4/users/me/dataTypes/symptoms/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"symptoms": {
"sampleTime": {
"physicalTime": "2026-07-02T19:00:00Z"
},
"symptoms": [ "CRAMPS", "BLOATED", "FATIGUE" ]
}
}응답
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/symptoms/dataPoints/data-point-id",
"symptoms": {
"sampleTime": {
"physicalTime": "2026-07-02T19:00:00Z",
"utcOffset": "0s",
"civilTime": {
"date": { "year": 2026, "month": 7, "day": 2 },
"time": { "hours": 19 }
}
},
"symptoms": [ "CRAMPS", "BLOATED", "FATIGUE" ]
}
}
}기분
특정 타임스탬프에 정서적 상태와 감정을 기록합니다. 필드 및 설명의 전체
목록은
Moods를 참고하세요.
기분 로그 만들기
정서적 상태를 기록하려면 POST 요청을 moods 데이터 포인트 엔드포인트로 보냅니다. 응답에는 name 필드가 포함되어 있으며,
이는 data-point-id 일괄 삭제 또는
업데이트 (패치) 요청에 사용할 수 있습니다.
요청
POST https://health.googleapis.com/v4/users/me/dataTypes/moods/dataPoints
Authorization: Bearer access-token
Content-Type: application/json
{
"moods": {
"sampleTime": {
"physicalTime": "2026-07-02T21:00:00Z"
},
"moods": [ "CALM", "CONTENT" ],
"valences": [ "PLEASANT" ]
}
}응답
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.devicesandservices.health.v4.DataPoint",
"name": "users/user-id/dataTypes/moods/dataPoints/data-point-id",
"moods": {
"sampleTime": {
"physicalTime": "2026-07-02T21:00:00Z",
"utcOffset": "0s",
"civilTime": {
"date": { "year": 2026, "month": 7, "day": 2 },
"time": { "hours": 21 }
}
},
"moods": [ "CALM", "CONTENT" ],
"valences": [ "PLEASANT" ]
}
}
}일괄 삭제
하나 이상의 데이터 포인트를 삭제하려면 삭제할 항목의 리소스 이름과 함께 POST 요청을 batchDelete 엔드포인트로 보냅니다.
POST https://health.googleapis.com/v4/users/me/dataTypes/data-type-name/dataPoints:batchDelete
Authorization: Bearer access-token
Content-Type: application/json
{
"names": [
"users/me/dataTypes/data-type/dataPoints/data-point-id"
]
}예: 여러 데이터 포인트 삭제
단일 요청으로 여러 데이터 포인트를 삭제하려면 리소스 이름을 names 배열에 포함합니다.
POST https://health.googleapis.com/v4/users/me/dataTypes/symptoms/dataPoints:batchDelete
Authorization: Bearer access-token
Content-Type: application/json
{
"names": [
"users/user-id/dataTypes/symptoms/dataPoints/symptom-id-1",
"users/user-id/dataTypes/symptoms/dataPoints/symptom-id-2"
]
}