ตารางต่อไปนี้มีรายการประเภทข้อมูลทั้งหมด โดยมีหลายคอลัมน์ ที่จะช่วยให้คุณเข้าใจการแสดงข้อมูลแต่ละประเภทใน Google Health API รวมถึงขอบเขตที่ข้อมูลแต่ละประเภทพร้อมใช้งาน
ประเภทข้อมูลdataType
พารามิเตอร์ filter |
ประเภท ระเบียน |
การดำเนินการ ที่ใช้ได้ |
ขอบเขต | การสนับสนุน เว็บฮุค |
การสนับสนุน สำหรับค่าศูนย์ที่แท้จริง |
|---|---|---|---|---|---|
แคลอรี่ที่เผาผลาญขณะทำกิจกรรม
active-energy-burnedactive_energy_burned
|
ช่วงเวลา | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
นาทีที่มีการใช้งาน
active-minutesactive_minutes
|
ช่วงเวลา | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
นาทีในโซนแอ็กทีฟ
active-zone-minutesactive_zone_minutes
|
ช่วงเวลา | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
ระดับกิจกรรม
activity-levelactivity_level
|
ช่วงเวลา | รายการ, ปรับยอด | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
ระดับความสูง
altitudealtitude
|
ช่วงเวลา | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
น้ำตาลกลูโคสในเลือด
blood-glucoseblood_glucose
|
ตัวอย่าง | list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
ไขมันในร่างกาย
body-fatbody_fat
|
ตัวอย่าง | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
แคลอรี่ในโซนอัตราการเต้นของหัวใจ
calories-in-heart-rate-zonecalories_in_heart_rate_zone
|
ช่วงเวลา | rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
อุณหภูมิแกนกลางของร่างกาย
core-body-temperaturecore_body_temperature
|
ตัวอย่าง | list, get, reconcile, rollup, dailyRollup | .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 |
||
VO2 Max รายวัน
daily-vo2-maxdaily_vo2_max
|
รายวัน | รายการ, ปรับยอด | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
ระยะทาง
distancedistance
|
ช่วงเวลา | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
คลื่นไฟฟ้าหัวใจ (ECG)
electrocardiogramelectrocardiogram
|
เซสชัน | list | .ecg.readonly |
||
การออกกำลังกาย
exerciseexercise
|
เซสชัน | list, get, reconcile, create, update, batchDelete | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
พื้น
floorsfloors
|
ช่วงเวลา | reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
อาหาร
foodfood
|
อาหาร | list, get | .nutrition.readonly.nutrition.writeonly |
||
หน่วยวัดอาหาร
food-measurement-unitfood_measurement_unit
|
อาหาร | list, get | .nutrition.readonly.nutrition.writeonly |
||
อัตราการเต้นของหัวใจ
heart-rateheart_rate
|
ตัวอย่าง | list, reconcile, rollup, dailyRollup | .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 |
||
ส่วนสูง
heightheight
|
ตัวอย่าง | list, get, reconcile, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
บันทึกการดื่มน้ำ
hydration-loghydration_log
|
เซสชัน | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
||
การแจ้งเตือนเมื่อจังหวะการเต้นของหัวใจผิดปกติ
irregular-rhythm-notificationirregular_rhythm_notification
|
เซสชัน | list | .irn.readonly |
||
ระยะประจำเดือน
menstrual-periodmenstrual_period
|
ช่วงเวลา | create, update, batchDelete | .reproductive_health.writeonly |
||
อารมณ์
moodsmoods
|
ตัวอย่าง | create, update, batchDelete | .mindfulness.writeonly |
||
บันทึกโภชนาการ
nutrition-lognutrition_log
|
ตัวอย่าง | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
||
อุปกรณ์ทดสอบการตกไข่
ovulation-testovulation_test
|
ตัวอย่าง | create, update, batchDelete | .reproductive_health.writeonly |
||
ความอิ่มตัวของออกซิเจน
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 |
||
วิ่ง VO2 Max
run-vo2-maxrun_vo2_max
|
ตัวอย่าง | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
ระยะเวลาอยู่กับที่ไม่เคลื่อนไหว
sedentary-periodsedentary_period
|
ช่วงเวลา | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
การนอนหลับ
sleepsleep
|
เซสชัน | list, get, reconcile, create, update, batchDelete | .sleep.readonly.sleep.writeonly |
||
ขั้นตอน
stepssteps
|
ช่วงเวลา | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
ข้อมูลความยาวของสระว่ายน้ำ
swim-lengths-dataswim_lengths_data
|
ช่วงเวลา | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
อาการ
symptomssymptoms
|
ตัวอย่าง | create, update, batchDelete | .logged_symptoms.writeonly |
||
เวลาในโซนอัตราการเต้นของหัวใจ
time-in-heart-rate-zonetime_in_heart_rate_zone
|
ช่วงเวลา | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
แคลอรี่ทั้งหมด
total-caloriestotal_calories
|
ช่วงเวลา | rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
VO2 Max
vo2-maxvo2_max
|
ตัวอย่าง | รายการ, ปรับยอด | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
น้ำหนัก
weightweight
|
ตัวอย่าง | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
ข้อจำกัดของคำค้นหา
เมื่อค้นหาจุดข้อมูล การสรุป หรือการสรุปรายวันจาก API โปรดคำนึงถึงข้อจำกัดต่อไปนี้
- ข้อกำหนดของตัวกรอง: ข้อมูลประเภทที่ได้แบบอ่านอย่างเดียวบางประเภท เช่น
total-caloriesต้องมีตัวกรองที่ระบุเวลาเริ่มต้นของช่วง (โดยใช้เวลาจริงหรือเวลาพลเรือน) - ขีดจำกัดช่วงการค้นหา: ช่วงการค้นหาสูงสุดสำหรับ
calories-in-heart-rate-zone,heart-rate,active-minutesและtotal-caloriesคือ 14 วัน ช่วงการค้นหาสูงสุดสำหรับข้อมูลประเภทอื่นๆ ทั้งหมดคือ 90 วัน
ความพร้อมใช้งานของข้อมูล
การอัปเดตข้อมูลของผู้ใช้จะพร้อมใช้งานหลังจากที่ผู้ใช้ซิงค์เครื่องมือติดตามกิจกรรมหรือป้อนข้อมูลใหม่ลงในแอป Fitbit บนมือถือหรือเว็บแอปด้วยตนเองเท่านั้น อุปกรณ์ Fitbit และแอป Fitbit บนมือถือจะซิงค์โดยอัตโนมัติทุกๆ 15 นาทีเมื่อแอป Fitbit เปิดอยู่บนอุปกรณ์เคลื่อนที่และทั้ง 2 อย่างมีการเชื่อมต่อข้อมูลที่ใช้งานอยู่และอยู่ในระยะ Bluetooth หากผู้ใช้ติดตามกิจกรรมโดยใช้ MobileTrack ระบบจะซิงค์ MobileTrack ทุกชั่วโมงตราบใดที่แอปเปิดอยู่
การค้นหาข้อมูลย้อนหลัง
ข้อดีหลักอย่างหนึ่งของ Google Health API คือความสามารถในการติดตามประสิทธิภาพของผู้ใช้และตรวจสอบค่าสุขภาพที่สำคัญเป็นระยะเวลานาน คุณสามารถค้นหาข้อมูลของผู้ใช้ได้ย้อนหลังเท่าที่ระบบบันทึกไว้ โดย API จะไม่จำกัดจำนวนข้อมูลย้อนหลังที่แอปพลิเคชันของคุณใช้ได้
อย่างไรก็ตาม การค้นหาข้อมูลย้อนหลังยังคงอยู่ภายใต้ขีดจํากัดอัตรามาตรฐาน Google Health API รองรับการค้นหาข้อมูลในช่วงวันที่เพื่อลดจำนวนการเรียก API ที่เกี่ยวข้องกับขีดจำกัดเหล่านี้ โปรดทราบการแบ่งหน้าและขอบเขตคำขอต่อไปนี้
- แต่ละปลายทางจะแสดงผลขนาดหน้าสูงสุดที่ 10,000 จุดข้อมูลต่อหน้า
- ช่วงวันที่ของคําค้นหาถูกจํากัดไว้ระหว่าง 14 ถึง 90 วันต่อคําขอ
การดึงข้อมูลทั้งชุดอาจต้องใช้คำขอแบบต่อเนื่องหลายรายการและใช้เวลาเพิ่มเติม ทั้งนี้ขึ้นอยู่กับปริมาณข้อมูลย้อนหลังที่แอปพลิเคชันของคุณต้องการ โปรดคำนึงถึงเรื่องนี้เมื่อออกแบบกระบวนการซิงโครไนซ์ข้อมูลของแอปพลิเคชัน
ทำตามหลักเกณฑ์เหล่านี้เมื่อค้นหาข้อมูลย้อนหลังเพื่อให้ได้ประสิทธิภาพสูงสุดและหลีกเลี่ยงข้อผิดพลาดของ API
การซิงค์ข้อมูลแบบเป็นระยะ (โหลดแบบร้อนเทียบกับแบบเย็น)
- การโหลด "ด่วน" ครั้งแรก: ดึงและแสดงเฉพาะข้อมูลในช่วง 7-14 วันล่าสุด ในลําดับการโหลดหลัก ซึ่งจะช่วยให้ผู้ใช้เห็นข้อมูลได้ทันทีโดยไม่ต้องรอการค้นหาที่ใช้เวลานาน
- การโหลด "เย็น" ในเบื้องหลัง: มอบหมายการดึงข้อมูลย้อนหลังที่เก่ากว่า ไปยังคิวแบบไม่พร้อมกันที่มีลำดับความสำคัญต่ำกว่าหรือกระบวนการในเบื้องหลัง หลังจากที่แสดงผล UI หลักแล้ว
การแบ่งคำค้นหาตามเวลา
- อย่าขอช่วงเวลาหลายปีหรือหลายเดือนในการเรียก API ครั้งเดียว แบ่งการค้นหาข้อมูลย้อนหลังขนาดใหญ่ออกเป็นช่วงเวลาที่เล็กลงและต่อเนื่องกัน (เช่น 1 สัปดาห์ต่อคำขอ)
- จัดกลุ่มหรือจัดลำดับคำค้นหาย่อยเหล่านี้อย่างปลอดภัยเพื่อปฏิบัติตามขีดจำกัดการทำงานพร้อมกัน และรักษาตัวบ่งชี้ความคืบหน้าของ UI ให้คงที่
ใช้การสรุปข้อมูลที่รวมไว้ล่วงหน้า
ปรับโครงสร้างแดชบอร์ดภาพรวมและแผนภูมิแนวโน้มเพื่อใช้ปลายทางสรุปที่รวบรวมไว้ล่วงหน้า (เช่น DailyRollUpDataPoints) ซึ่งจะช่วยลดค่าใช้จ่ายในการคำนวณที่แบ็กเอนด์และเวลาในการโอนข้อมูลผ่านเครือข่ายไปยังไคลเอ็นต์ได้อย่างมาก
การจัดการข้อผิดพลาดที่ยืดหยุ่น (การลองใหม่ที่ชาญฉลาด)
- ใช้การจัดการ Exponential Backoff อย่างเข้มงวดเมื่อพบขีดจำกัดอัตรา (
429 Too Many Requests) และระยะหมดเวลาของเกตเวย์เซิร์ฟเวอร์ (504 Gateway Timeout) อย่าลองส่งเพย์โหลดขนาดใหญ่ที่ล้มเหลวซ้ำทันที การลองใหม่ทันทีจะเพิ่มความหนาแน่นของแบ็กเอนด์และทำให้ระบบเสื่อมประสิทธิภาพมากขึ้น - หากการค้นหาหมดเวลาซ้ำๆ ให้เปลี่ยนไปใช้กรอบเวลาที่เล็กลงโดยอัตโนมัติ (เช่น ลดช่วง 1 สัปดาห์เหลือ 3 วัน)
สิทธิ์เข้าถึงของบุคคลที่สาม
อุปกรณ์ Fitbit สื่อสารกับแอปพลิเคชันหรือบริการของบุคคลที่สามโดยตรงไม่ได้ อุปกรณ์เหล่านี้ออกแบบมาเพื่อสื่อสารและซิงค์กับแอป Fitbit บนมือถือโดยเฉพาะ
อุปกรณ์จะซิงค์ข้อมูลโดยอัตโนมัติตลอดทั้งวันเมื่อใดก็ตามที่แอป Fitbit เปิดอยู่ หรือทุกๆ 15 นาทีหากบลูทูธเปิดอยู่และแอปทำงานใน พื้นหลัง เมื่อกระบวนการซิงค์นี้เสร็จสมบูรณ์แล้ว ข้อมูลจะพร้อมใช้งานสำหรับบริการของบุคคลที่สามผ่าน Google Health API
มาตรฐานระยะทาง
ระยะทางของการออกกำลังกาย เช่น elevationGainMillimeters จะวัดเป็นมิลลิเมตรซึ่งเป็นหน่วยมาตรฐานด้วยเหตุผลต่อไปนี้
- การรักษาความแม่นยำของข้อมูล: เหตุผลที่สำคัญที่สุดในการใช้ มิลลิเมตรคือเพื่อให้มั่นใจว่าเราจะไม่สูญเสียความแม่นยำในข้อมูลที่เรา อ่านและให้ การใช้หน่วยที่ละเอียด เช่น มิลลิเมตร ช่วยให้เรา แสดงการวัดได้อย่างแม่นยำ
- การกำหนดมาตรฐาน: มิลลิเมตรเป็นหน่วยมาตรฐานที่ออกแบบมา ในบริการของเรา ความสอดคล้องนี้ช่วยให้มั่นใจได้ว่านักพัฒนาแอปจะได้รับประสบการณ์การใช้งานที่สม่ำเสมอ เมื่อโต้ตอบกับ API ส่วนต่างๆ
- รองรับระบบการวัดที่หลากหลาย: การใช้หน่วยฐาน เช่น มิลลิเมตร ช่วยให้ผู้พัฒนาสามารถแปลงเป็นหน่วยอื่นๆ ที่เลือกได้อย่างง่ายดาย ไม่ว่าจะเป็นระบบเมตริก ระบบอิมพิเรียล หรือระบบการวัดอื่นๆ
ความยาวของวันไม่คงที่
การจัดการเวลาโดย Health API จะจัดลำดับความสำคัญของเวลาของผู้ใช้เพื่อพิจารณา ความยาวของวันที่ที่เปลี่ยนแปลงได้ซึ่งเกิดจากเวลาออมแสงหรือการเดินทาง ระบบจะจัดเก็บจุดข้อมูลทุกจุดพร้อมทั้งการประทับเวลา UTC จริงและการชดเชย UTC ที่ใช้งานอยู่ ณ เวลาที่เกิดเหตุการณ์ ซึ่งจะช่วยให้ระบบทำสิ่งต่อไปนี้ได้
- แมปเหตุการณ์กับช่วงเวลาที่แน่นอนในโลกจริง
- แก้ไขเวลาให้ตรงกับบริบทท้องถิ่นของผู้ใช้สำหรับการรวบรวม
เวลาออมแสง
เมื่อถึงช่วงเวลาออมแสง การ "ย้อนกลับ" จะส่งผลให้วันตามปฏิทินมี 25 ชั่วโมง และข้อมูลรวมของวันที่ดังกล่าวจะมีข้อมูล 25 ชั่วโมง "การเปลี่ยนเวลา ฤดูร้อน" จะส่งผลให้วันตามกฎหมายมี 23 ชั่วโมง โดยเวลาจะเปลี่ยนกลับเป็นเวลา มาตรฐาน
ท่องเที่ยว
การเดินทางข้ามเขตเวลาอาจทำให้ระยะเวลาจริงของวันหนึ่งๆ แตกต่างกันมากยิ่งขึ้น
ใช้ปลายทาง dailyRollUp เพื่อปรับความแตกต่างของเขตเวลา ระบบจะระบุแหล่งที่มาของข้อมูลโดยอัตโนมัติเป็นวันในปฏิทินที่มีการบันทึกข้อมูล
ตามเวลาท้องถิ่นของผู้ใช้ ซึ่งเป็นการ "เชื่อม" วันเข้าด้วยกัน
แม้ว่าจะมีการเปลี่ยนเขตเวลา