Разработка интерфейсов для отображения жизненно важных показателей и показателей здоровья с использованием API Google Health.

API Google Health отслеживает жизненно важные показатели пользователя и физиологические показатели здоровья, такие как частота сердечных сокращений, насыщение крови кислородом, уровень глюкозы в крови, температура тела и ежедневные измерения температуры во время сна.

Чтобы обеспечить наилучшее взаимодействие с пользователями, разберитесь, как считывать и запрашивать у пользователей разрешение на доступ к важным данным в вашем приложении.

Поддерживаемые типы данных

API поддерживает следующие типы данных для отслеживания жизненно важных показателей и показателей здоровья:

Таблица: Типы данных жизненно важных показателей из Google Health API
Тип данных
dataType
параметр filter
Записывать
тип
Доступный
операции
Объем Вебхук
поддерживать
Истинные нули
поддерживать
Уровень глюкозы в крови
blood-glucose
blood_glucose
Образец список, получить, согласовать, свернуть, ежедневный свертывание .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Температура тела
core-body-temperature
core_body_temperature
Образец список, получить, согласовать, свернуть, ежедневный свертывание .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Суточная вариабельность сердечного ритма
daily-heart-rate-variability
daily_heart_rate_variability

Совместимые устройства

Ежедневно список, согласовать .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Ежедневные зоны частоты сердечных сокращений
daily-heart-rate-zones
daily_heart_rate_zones
Ежедневно список, согласовать .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Суточная сатурация кислорода
daily-oxygen-saturation
daily_oxygen_saturation

Совместимые устройства

Ежедневно список, согласовать .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Суточная частота дыхания
daily-respiratory-rate
daily_respiratory_rate

Совместимые устройства

Ежедневно список, согласовать .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Ежедневная частота сердечных сокращений в состоянии покоя
daily-resting-heart-rate
daily_resting_heart_rate

Совместимые устройства

Ежедневно список, согласовать .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Ежедневные измерения температуры во время сна
daily-sleep-temperature-derivations
daily_sleep_temperature_derivations

Совместимые устройства

Ежедневно список, согласовать .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Электрокардиограмма (ЭКГ)
electrocardiogram
electrocardiogram

Совместимые устройства

Сессия список .ecg.readonly
Частота сердечных сокращений
heart-rate
heart_rate

Совместимые устройства

Образец список, сверка, свертка, ежедневная сводка .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Вариабельность сердечного ритма
heart-rate-variability
heart_rate_variability

Совместимые устройства

Образец список, согласовать .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Уведомление о нарушении ритма
irregular-rhythm-notification
irregular_rhythm_notification
Сессия список .irn.readonly
Насыщение кислородом
oxygen-saturation
oxygen_saturation

Совместимые устройства

Образец список, согласовать .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Сводка по частоте дыхания во сне
respiratory-rate-sleep-summary
respiratory_rate_sleep_summary

Совместимые устройства

Образец список, согласовать .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly

Требования только для чтения

Данные о физиологических показателях жизненно важных функций заполняются путем синхронизации с устройством или путем ручного ввода в мобильное или веб-приложение Fitbit и доступны только для чтения через REST API (их нельзя записывать или изменять напрямую через конечные точки Google Health API).

В следующих разделах представлены технические подробности и форматы REST-представления данных о жизненно важных показателях.

Частота сердечных сокращений и здоровье сердца

API предоставляет подробные внутридневные измерения и сводные ежедневные данные по показателям частоты сердечных сокращений:

  • Частота сердечных сокращений ( heart-rate ) : Измерения частоты сердечных сокращений в определенный момент времени, содержащие количество beatsPerMinute , а также motionContext пользователя (например, SEDENTARY или ACTIVE ) и sensorLocation (например, WRIST или CHEST ).
  • Ежедневная частота сердечных сокращений в состоянии покоя ( daily-resting-heart-rate ) : Базовое значение частоты сердечных сокращений в состоянии покоя за сутки.
  • Вариабельность сердечного ритма ( heart-rate-variability и daily-heart-rate-variability ) : регистрирует среднеквадратичное значение последовательных разностей ( rmssd ) в миллисекундах для представления вариабельности сердечного ритма.

Пример представления REST

Для запроса данных об измерении частоты сердечных сокращений отправьте GET запрос на конечную точку list .

В следующем примере показана одна точка данных heart-rate из возвращенного списка:

Запрос

GET https://health.googleapis.com/v4/users/me/dataTypes/heart-rate/dataPoints?startTime=2026-04-20T08:00:00Z&endTime=2026-04-20T08:05:00Z
Authorization: Bearer access-token
Accept: application/json

Ответ

{
  "dataPoints": [
    {
      "name": "users/me/dataTypes/heart-rate/dataPoints/hr-123456789",
      "dataSource": {
        "recordingMethod": "ACTIVELY_MEASURED"
      },
      "heartRate": {
        "sampleTime": {
          "physicalTime": "2026-04-20T08:00:00Z",
          "utcOffset": "0s"
        },
        "beatsPerMinute": "72",
        "metadata": {
          "motionContext": "SEDENTARY",
          "sensorLocation": "WRIST"
        }
      }
    }
  ]
}

уровень глюкозы в крови

Тип данных « blood-glucose отражает уровень сахара в крови пользователя. Точки уровня глюкозы в крови содержат информацию о концентрации в миллиграммах на децилитр ( mg/dL ), контексте приема пищи или времени приема, а также информацию об образце.

Пример представления REST

Для запроса данных об уровне глюкозы в крови отправьте GET запрос на конечную точку list . В следующем примере показана одна точка данных blood-glucose из возвращенного списка:

Запрос

GET https://health.googleapis.com/v4/users/me/dataTypes/blood-glucose/dataPoints?startTime=2026-04-20T08:00:00Z&endTime=2026-04-20T09:00:00Z
Authorization: Bearer access-token
Accept: application/json

Ответ

{
  "dataPoints": [
    {
      "name": "users/me/dataTypes/blood-glucose/dataPoints/bg-987654321",
      "dataSource": {
        "recordingMethod": "MANUALLY_ENTERED"
      },
      "bloodGlucose": {
        "sampleTime": {
          "physicalTime": "2026-04-20T08:30:00Z",
          "utcOffset": "-25200s"
        },
        "bloodGlucoseMilligramsPerDeciliter": 95.0,
        "measurementSource": "SELF_MONITORING_BLOOD_GLUCOSE",
        "mealType": "BREAKFAST",
        "measurementTiming": "AFTER_MEAL",
        "specimen": "CAPILLARY_BLOOD",
        "notes": "Post-breakfast fingerstick reading"
      }
    }
  ]
}

Насыщение кислородом (SpO2)

API отслеживает уровни кислорода, используя oxygen-saturation (внутридневные значения проб) и daily-oxygen-saturation (суточные сводные статистические данные). Процентная концентрация выражается числом от 0 до 100 .

Пример представления REST

Для запроса данных об уровне насыщения кислородом отправьте GET запрос на конечную точку list . В следующем примере показана одна точка данных oxygen-saturation из возвращенного списка:

Запрос

GET https://health.googleapis.com/v4/users/me/dataTypes/oxygen-saturation/dataPoints?startTime=2026-04-20T03:00:00Z&endTime=2026-04-20T03:05:00Z
Authorization: Bearer access-token
Accept: application/json

Ответ

{
  "dataPoints": [
    {
      "name": "users/me/dataTypes/oxygen-saturation/dataPoints/spo2-555555",
      "dataSource": {
        "recordingMethod": "ACTIVELY_MEASURED"
      },
      "oxygenSaturation": {
        "sampleTime": {
          "physicalTime": "2026-04-20T03:00:00Z",
          "utcOffset": "0s"
        },
        "percentage": 98.2
      }
    }
  ]
}

Температура

Отслеживание температуры включает в себя показатели температуры тела и динамику изменения температуры кожи во время сна в течение ночи:

  • Температура тела ( core-body-temperature ) : регистрирует температуру внутренних органов в градусах Цельсия с указанием конкретного места измерения (например, ARMPIT , EAR или FOREHEAD ).
  • Отклонение температуры во время сна ( daily-sleep-temperature-derivations ) : высокочастотные колебания температуры кожи, регистрируемые в течение ночи.

Пример представления REST

Для запроса данных об измерении температуры тела отправьте GET запрос на конечную точку list . В следующем примере показана одна точка данных core-body-temperature из возвращенного списка:

Запрос

GET https://health.googleapis.com/v4/users/me/dataTypes/core-body-temperature/dataPoints?startTime=2026-04-20T22:00:00Z&endTime=2026-04-20T23:00:00Z
Authorization: Bearer access-token
Accept: application/json

Ответ

{
  "dataPoints": [
    {
      "name": "users/me/dataTypes/core-body-temperature/dataPoints/cbt-666666",
      "dataSource": {
        "recordingMethod": "ACTIVELY_MEASURED"
      },
      "coreBodyTemperature": {
        "sampleTime": {
          "physicalTime": "2026-04-20T22:30:00Z",
          "utcOffset": "-18000s"
        },
        "temperatureCelsius": 36.8,
        "measurementLocation": "FOREHEAD"
      }
    }
  ]
}

Электрокардиограмма (ЭКГ) и уведомления

Для устройств с медицинскими датчиками API предоставляет доступ к расширенным типам данных о состоянии сердца:

  • Электрокардиограмма ( electrocardiogram ) : Результаты сеанса одноканальной ЭКГ, содержащие классификацию ( SINUS_RHYTHM , ATRIAL_FIBRILLATION , INCONCLUSIVE ), среднюю частоту сердечных сокращений, частоту дискретизации и исходные значения напряжения волновой формы.
  • Уведомление о нерегулярном ритме ( irregular-rhythm-notification ) : контекстные оповещения, указывающие на признаки потенциальной фибрилляции предсердий, обнаруженные во время пассивного мониторинга.

Пример представления REST

Для запроса данных сеанса электрокардиограммы отправьте GET запрос на конечную точку list . В следующем примере показана одна точка данных electrocardiogram из возвращенного списка:

Запрос

GET https://health.googleapis.com/v4/users/me/dataTypes/electrocardiogram/dataPoints?startTime=2026-04-20T10:00:00Z&endTime=2026-04-20T10:05:00Z
Authorization: Bearer access-token
Accept: application/json

Ответ

{
  "dataPoints": [
    {
      "name": "users/me/dataTypes/electrocardiogram/dataPoints/ecg-777777",
      "dataSource": {
        "recordingMethod": "ACTIVELY_MEASURED"
      },
      "electrocardiogram": {
        "interval": {
          "startTime": "2026-04-20T10:00:00Z",
          "startUtcOffset": "0s",
          "endTime": "2026-04-20T10:00:30Z",
          "endUtcOffset": "0s"
        },
        "resultClassification": "SINUS_RHYTHM",
        "beatsPerMinuteAvg": "70",
        "samplingFrequencyHertz": 250,
        "millivoltsScalingFactor": 1000,
        "leadNumber": 1,
        "waveformSamples": [
          -12, -8, 4, 18, 30, 42, 50, 48, 32, 10
        ]
      }
    }
  ]
}

Области применения и полномочия

Для использования функции отображения жизненно важных показателей и данных о состоянии здоровья сердца ваше приложение должно запросить следующие области действия OAuth:

  • Читайте : https://www.googleapis.com/auth/googlehealth.ecg.readonly
  • Читайте : https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly
  • Написать : https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly
  • Читайте : https://www.googleapis.com/auth/googlehealth.irn.readonly

Руководящие принципы

При разработке функций, использующих показатели жизненно важных функций и состояния здоровья, руководствуйтесь следующими рекомендациями:

  • Обработка преобразования единиц измерения : значения температуры указаны в градусах Цельсия. Преобразуйте их в градусы Фаренгейта в коде вашего интерфейса в соответствии с локализованными предпочтениями пользователя.
  • Управление уведомлениями веб-хуков : Подпишитесь на оповещения веб-хуков о жизненно важных показателях, чтобы немедленно запускать анализ на бэкэнде после того, как пользователь синхронизирует новые показания (например, частоту сердечных сокращений или уровень глюкозы в крови).
  • Соблюдайте конфиденциальность данных : убедитесь, что ваш продукт четко объясняет пользователям клинический или оздоровительный контекст считывания высокочастотных физиологических показателей. Объясните, почему требуются такие области доступа, как health_metrics_and_measurements или ecg прежде чем запрашивать авторизацию.