Interfejs Google Health API udostępnia typy danych do śledzenia zdrowia reprodukcyjnego, objawów i nastrojów. Te typy umożliwiają rejestrowanie miesiączek, wyników testów owulacyjnych oraz powiązanych z nimi stanów fizycznych i emocjonalnych.
Obsługiwane typy danych
| Typ danych | Dostępne operacje |
Zakres |
|---|---|---|
|
Miesiączka
dataType:
menstrual-periodfilter parameter: menstrual_period
Typ rekordu: interwał
|
create, update, batchDelete | .reproductive_health.writeonly |
|
Nastroje
|
create, update, batchDelete | .mindfulness.writeonly |
|
Test owulacyjny
dataType:
ovulation-testfilter parameter: ovulation_test
**Typ rekordu:** próbka
|
create, update, batchDelete | .reproductive_health.writeonly |
|
Objawy
dataType:
symptomsfilter parameter: symptoms
**Typ rekordu:** próbka
|
create, update, batchDelete | .logged_symptoms.writeonly |
Miesiączka
Miesiączka to przedział czasu zarejestrowany przez użytkownika. Pełną
listę pól i ich opisów znajdziesz w artykule
MenstrualPeriod.
Wskazówki dotyczące rejestrowania miesiączek
- Daty zakończenia są wymagane: wszystkie rekordy miesiączek muszą zawierać datę lub godzinę zakończenia. Daty zakończenia nie mogą być puste.
- Obsługa trwających okresów: Jeśli nie możesz podać daty zakończenia podczas tworzenia rekordu (na przykład, jeśli okres trwa), ustaw datę zakończenia na datę rozpoczęcia. Codziennie aktualizuj rekord, ustawiając datę zakończenia na bieżącą datę, aż do zakończenia miesiączki i potwierdzenia ostatecznej daty zakończenia.
- Potwierdzone miesiączki: wszystkie rekordy miesiączek są traktowane jako potwierdzone.
Tworzenie miesiączki
Aby utworzyć wpis dotyczący miesiączki, wyślij żądanie POST do punktu końcowego danych menstrual-period. Odpowiedź zawiera pole name
z wartością data-point-id, którego można użyć w
żądaniu zbiorczego usunięcia lub
aktualizacji (patch).
Żądanie
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."
}
}Odpowiedź
{
"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."
}
}
}Test owulacyjny
Rejestruje obserwację testu owulacyjnego. Pełną listę pól i
opisów znajdziesz w
OvulationTest.
Tworzenie testu owulacyjnego
Aby zarejestrować wynik testu owulacyjnego, wyślij żądanie POST do punktu końcowego danych ovulation-test. Odpowiedź zawiera pole name z wartością
data-point-id, którego można użyć w żądaniu zbiorczego usunięcia lub
aktualizacji (patch).
Żądanie
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"
}
}Odpowiedź
{
"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"
}
}
}Objawy
Rejestruje objawy fizyczne występujące w danym momencie. Pełną
listę pól i ich opisów znajdziesz w artykule
Symptoms.
Tworzenie logu objawów
Aby zarejestrować objawy fizyczne, wyślij żądanie POST do punktu końcowego danych symptoms. Odpowiedź zawiera pole name z wartością data-point-id,
którego można użyć w żądaniu zbiorczego usunięcia lub
aktualizacji (patch).
Żądanie
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" ]
}
}Odpowiedź
{
"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" ]
}
}
}Nastroje
Rejestruje stany emocjonalne i ich wartości w danym momencie. Pełną listę pól i ich opisów znajdziesz w artykule
Moods.
Tworzenie logu nastrojów
Aby zarejestrować stany emocjonalne, wyślij żądanie POST do punktu końcowego danych moods. Odpowiedź zawiera pole name z wartością data-point-id,
którego można użyć w żądaniu zbiorczego usunięcia lub
aktualizacji (patch).
Żądanie
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" ]
}
}Odpowiedź
{
"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" ]
}
}
}Usuwanie zbiorcze
Aby usunąć co najmniej 1 punkt danych, wyślij żądanie POST do punktu końcowego batchDelete z nazwami zasobów wpisów do usunięcia.
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"
]
}Przykład: usuwanie wielu punktów danych
Aby usunąć wiele punktów danych w jednym żądaniu, dodaj ich nazwy zasobów do tablicy 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"
]
}