رابط برنامهنویسی کاربردی گوگل هلث (Google Health API) علائم حیاتی و معیارهای سلامت فیزیولوژیکی کاربر، مانند ضربان قلب، اشباع اکسیژن، قند خون، دمای مرکزی بدن و مشتقهای روزانه دمای خواب را ردیابی میکند.
نحوه خواندن و درخواست مجوز کاربر برای دادههای حیاتی در برنامه خود را برای ارائه بهترین تجربه برای کاربران خود درک کنید.
انواع داده پشتیبانی شده
این API از انواع دادههای زیر برای ردیابی علائم حیاتی و معیارهای سلامت پشتیبانی میکند:
نوع دادهdataTypeپارامتر filter | رکورد نوع | موجود است عملیات | محدوده | وبهوک پشتیبانی | صفرهای واقعی پشتیبانی |
|---|---|---|---|---|---|
قند خونblood-glucoseblood_glucose | نمونه | فهرست کردن، دریافت کردن، تطبیق دادن، جمع کردن، جمع کردن روزانه | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly | ||
دمای مرکزی بدنcore-body-temperaturecore_body_temperature | نمونه | فهرست کردن، دریافت کردن، تطبیق دادن، جمع کردن، جمع کردن روزانه | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly | ||
تغییرپذیری روزانه ضربان قلبdaily-heart-rate-variabilitydaily_heart_rate_variability دستگاههای سازگار
| روزانه | فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly | ||
محدودههای ضربان قلب روزانهdaily-heart-rate-zonesdaily_heart_rate_zones | روزانه | فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly | ||
اشباع اکسیژن روزانهdaily-oxygen-saturationdaily_oxygen_saturation دستگاههای سازگار
| روزانه | فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly | ||
میزان تنفس روزانهdaily-respiratory-ratedaily_respiratory_rate دستگاههای سازگار
| روزانه | فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly | ||
ضربان قلب در حالت استراحت روزانهdaily-resting-heart-ratedaily_resting_heart_rate دستگاههای سازگار
| روزانه | فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly | ||
مشتقات دمای خواب روزانهdaily-sleep-temperature-derivationsdaily_sleep_temperature_derivations دستگاههای سازگار
| روزانه | فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly | ||
الکتروکاردیوگرام (ECG)electrocardiogramelectrocardiogram دستگاههای سازگار
| جلسه | فهرست | .ecg.readonly | ||
ضربان قلبheart-rateheart_rate دستگاههای سازگار
| نمونه | فهرست کردن، تطبیق دادن، جمع کردن، جمع کردن روزانه | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly | ||
تغییرپذیری ضربان قلبheart-rate-variabilityheart_rate_variability دستگاههای سازگار
| نمونه | فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly | ||
اعلان ریتم نامنظمirregular-rhythm-notificationirregular_rhythm_notification | جلسه | فهرست | .irn.readonly | ||
اشباع اکسیژنoxygen-saturationoxygen_saturation دستگاههای سازگار
| نمونه | فهرست کردن، تطبیق دادن | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly | ||
خلاصه خواب با نرخ تنفسrespiratory-rate-sleep-summaryrespiratory_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) را بر حسب میلیثانیه ثبت میکند تا HRV را نشان دهد.
مثال نمایش 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"
}
}
]
}الکتروکاردیوگرام (ECG) و اعلانها
برای دستگاههایی با حسگرهای پزشکی، API انواع دادههای پیشرفته سلامت قلب را در معرض نمایش قرار میدهد:
- الکتروکاردیوگرام (
electrocardiogram) : نتایج جلسه ECG تک لید، شامل طبقهبندی (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نیاز است.