Bảng sau đây chứa danh sách đầy đủ các loại dữ liệu, với một số cột giúp bạn hiểu rõ cách biểu thị từng loại trong Google Health API, cũng như phạm vi mà từng loại có sẵn.
Loại dữ liệudataType
filter tham số |
Các thao tác có thể thực hiện |
Phạm vi |
|---|---|---|
Năng lượng đốt cháy khi hoạt động
active-energy-burnedactive_energy_burned
Loại bản ghi: Khoảng thời gian
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Số phút hoạt động
active-minutesactive_minutes
Loại bản ghi: Khoảng thời gian
Thiết bị tương thích
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Số phút hoạt động cho vùng nhịp tim
active-zone-minutesactive_zone_minutes
Loại bản ghi: Khoảng thời gian
Thiết bị tương thích
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Mức độ hoạt động
|
list, reconcile | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Độ cao
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Đường huyết
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Lượng mỡ trong cơ thể
|
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Lượng calo tiêu thụ theo vùng nhịp tim
calories-in-heart-rate-zonecalories_in_heart_rate_zone
Loại bản ghi: Khoảng thời gian
|
rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Nhiệt độ vùng thân
|
list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Sự thay đổi tần số tim hằng ngày
daily-heart-rate-variabilitydaily_heart_rate_variability
Loại bản ghi: Hằng ngày
Thiết bị tương thích
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Vùng tần số tim hằng ngày
daily-heart-rate-zonesdaily_heart_rate_zones
Loại bản ghi: Hằng ngày
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Độ bão hoà oxy hằng ngày
daily-oxygen-saturationdaily_oxygen_saturation
Loại bản ghi: Hằng ngày
Thiết bị tương thích
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Nhịp thở hằng ngày
daily-respiratory-ratedaily_respiratory_rate
Loại bản ghi: Hằng ngày
Thiết bị tương thích
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Tần số tim lúc nghỉ ngơi hằng ngày
daily-resting-heart-ratedaily_resting_heart_rate
Loại bản ghi: Hằng ngày
Thiết bị tương thích
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Thông tin về nhiệt độ cơ thể trong lúc ngủ mỗi ngày
daily-sleep-temperature-derivationsdaily_sleep_temperature_derivations
Loại bản ghi: Hằng ngày
Thiết bị tương thích
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Lượng oxy tối đa hằng ngày
daily-vo2-maxdaily_vo2_max
Loại bản ghi: Hằng ngày
Thiết bị tương thích
|
list, reconcile | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Khoảng cách
distancedistance
Loại bản ghi: Khoảng thời gian
Thiết bị tương thích
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Điện tâm đồ (ECG)
electrocardiogramelectrocardiogram
Loại bản ghi: Phiên
Thiết bị tương thích
|
danh sách | .ecg.readonly |
Tập thể dục
exerciseexercise
Loại bản ghi: Phiên
Thiết bị tương thích
|
list, get, reconcile, create, update, batchDelete | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Tầng
|
reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Đồ ăn
|
list, get | .nutrition.readonly.nutrition.writeonly |
Đơn vị đo lường thực phẩm
food-measurement-unitfood_measurement_unit
Loại bản ghi: Thực phẩm
Thiết bị tương thích
|
list, get | .nutrition.readonly.nutrition.writeonly |
Nhịp tim
heart-rateheart_rate
Loại bản ghi: Mẫu
Thiết bị tương thích
|
list, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Sự thay đổi tần số tim
heart-rate-variabilityheart_rate_variability
Loại bản ghi: Mẫu
Thiết bị tương thích
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Chiều cao
|
list, get, reconcile, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
|
Nhật ký về lượng nước uống
|
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
Thông báo về tình trạng nhịp tim không đều
irregular-rhythm-notificationirregular_rhythm_notification
Loại bản ghi: Phiên
|
danh sách | .irn.readonly |
Kỳ kinh nguyệt
menstrual-periodmenstrual_period
Loại bản ghi: Khoảng thời gian
|
create, update, batchDelete | .reproductive_health.writeonly |
Tâm trạng
moodsmoods
Loại bản ghi: Mẫu
|
create, update, batchDelete | .mindfulness.writeonly |
Nhật ký dinh dưỡng
nutrition-lognutrition_log
Loại bản ghi: Mẫu
Thiết bị tương thích
|
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
Que thử rụng trứng
ovulation-testovulation_test
Loại bản ghi: Mẫu
|
create, update, batchDelete | .reproductive_health.writeonly |
Độ bão hoà oxy
oxygen-saturationoxygen_saturation
Loại bản ghi: Mẫu
Thiết bị tương thích
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Tóm tắt nhịp thở khi ngủ
respiratory-rate-sleep-summaryrespiratory_rate_sleep_summary
Loại bản ghi: Mẫu
Thiết bị tương thích
|
list, reconcile | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Tốc độ tiêu thụ oxy tối đa khi chạy
run-vo2-maxrun_vo2_max
Loại bản ghi: Mẫu
Thiết bị tương thích
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Khoảng thời gian ít vận động
sedentary-periodsedentary_period
Loại bản ghi: Khoảng thời gian
Thiết bị tương thích
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Ngủ
sleepsleep
Loại bản ghi: Phiên
Thiết bị tương thích
|
list, get, reconcile, create, update, batchDelete | .sleep.readonly.sleep.writeonly |
Các bước
stepssteps
Loại bản ghi: Khoảng thời gian
Thiết bị tương thích
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Dữ liệu về số lượt bơi
swim-lengths-dataswim_lengths_data
Loại bản ghi: Khoảng thời gian
Thiết bị tương thích
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Triệu chứng
symptomssymptoms
Loại bản ghi: Mẫu
|
create, update, batchDelete | .logged_symptoms.writeonly |
|
Thời gian ở vùng tần số tim
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Tổng lượng calo
total-caloriestotal_calories
Loại bản ghi: Khoảng thời gian
Thiết bị tương thích
|
rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Tốc độ tiêu thụ oxy tối đa
vo2-maxvo2_max
Loại bản ghi: Mẫu
Thiết bị tương thích
|
list, reconcile | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
|
Trọng số
|
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
Điều kiện ràng buộc truy vấn
Khi truy vấn các điểm dữ liệu, dữ liệu tổng hợp hoặc dữ liệu tổng hợp hằng ngày từ API, hãy lưu ý đến các ràng buộc sau:
- Yêu cầu về bộ lọc: Một số loại dữ liệu phái sinh chỉ đọc (chẳng hạn như
total-calories) yêu cầu một bộ lọc chỉ định thời gian bắt đầu khoảng thời gian (sử dụng thời gian thực hoặc thời gian dân sự). - Giới hạn phạm vi truy vấn: Các điểm cuối tổng hợp thông tin tổng quan và tổng hợp hằng ngày sẽ thực thi giới hạn phạm vi truy vấn tối đa dựa trên kiểu dữ liệu:
- Phạm vi truy vấn tối đa là 14 ngày đối với
calories-in-heart-rate-zone,heart-rate,active-minutesvàtotal-calories. - Phạm vi truy vấn tối đa là 90 ngày cho tất cả các loại dữ liệu khác.
- Phạm vi truy vấn tối đa là 14 ngày đối với
Phạm vi cung cấp dữ liệu
Dữ liệu của người dùng chỉ được cập nhật sau khi họ đồng bộ hoá thiết bị theo dõi hoạt động hoặc nhập dữ liệu mới theo cách thủ công vào ứng dụng di động hoặc ứng dụng web Fitbit. Thiết bị Fitbit và ứng dụng di động Fitbit có thể tự động đồng bộ hoá sau mỗi 15 phút khi ứng dụng Fitbit đang mở trên thiết bị di động và hai thiết bị này có kết nối dữ liệu đang hoạt động và nằm trong phạm vi Bluetooth. Nếu người dùng đang theo dõi hoạt động bằng MobileTrack, thì MobileTrack sẽ đồng bộ hoá mỗi giờ miễn là ứng dụng đang mở.
Truy vấn dữ liệu trong quá khứ
Một trong những lợi ích chính của Google Health API là khả năng theo dõi hiệu suất của người dùng và giám sát các chỉ số sức khoẻ của họ trong thời gian dài. Bạn có thể truy vấn dữ liệu của người dùng từ thời điểm dữ liệu được ghi lại; API không áp đặt bất kỳ giới hạn hoặc quy định hạn chế nào về lượng dữ liệu trong quá khứ mà ứng dụng của bạn có thể sử dụng.
Tuy nhiên, việc truy vấn dữ liệu cũ vẫn phải chịu sự điều chỉnh của giới hạn tốc độ tiêu chuẩn. Để quản lý độ ổn định của hệ thống và ngăn chặn tải trọng quá mức, Google Health API sử dụng tính năng phân trang tự động với kích thước trang dành riêng cho từng điểm cuối. Hãy lưu ý các ranh giới và hành vi sau:
- Phân trang tự động: Nếu bạn truy vấn một khoảng dữ liệu dài, API sẽ chỉ trả về trang kết quả đầu tiên (tối đa là giới hạn kích thước trang) cho điểm cuối đó, cùng với
nextPageToken. Bạn phải sử dụngnextPageTokenđể yêu cầu các trang tiếp theo. - Kích thước trang thay đổi: Giới hạn tối đa phụ thuộc vào điểm cuối và loại dữ liệu. Đối với hầu hết các loại dữ liệu, kích thước trang được giới hạn tối đa là 10.000.
Tuy nhiên, đối với một số kiểu dữ liệu như
exercisevàsleep, kích thước trang mặc định và tối đa được giới hạn ở mức 25. Ví dụ: nếu một ứng dụng yêu cầu tất cả dữ liệu giấc ngủ trong 10 năm qua, thì API vẫn chỉ trả về 25 phiên ngủ trên trang đầu tiên. - Các quy định hạn chế về phạm vi ngày tổng hợp: Đối với các điểm cuối tổng hợp và tổng kết dữ liệu (chẳng hạn như
rollUpvàdailyRollUp), phạm vi ngày truy vấn sẽ bị hạn chế dựa trên loại dữ liệu:- Phạm vi tối đa là 14 ngày đối với
calories-in-heart-rate-zone,heart-rate,active-minutesvàtotal-calories. - Phạm vi tối đa là 90 ngày cho tất cả các loại dữ liệu tổng hợp khác.
- Phạm vi tối đa là 14 ngày đối với
Tuỳ thuộc vào lượng dữ liệu trước đây mà ứng dụng của bạn cần, việc truy xuất toàn bộ tập dữ liệu sẽ yêu cầu phân trang tuần tự qua các trang. Hãy lưu ý điều này khi thiết kế quy trình đồng bộ hoá dữ liệu của ứng dụng.
Để đảm bảo hiệu suất tối ưu và tránh lỗi API, hãy làm theo các nguyên tắc sau khi truy vấn dữ liệu cũ:
Đồng bộ hoá dữ liệu theo giai đoạn (tải nóng so với tải lạnh)
- Tải "nóng" ban đầu: Chỉ tìm nạp và hiển thị dữ liệu của 7 đến 14 ngày gần đây nhất trong trình tự tải chính. Điều này đảm bảo người dùng thấy dữ liệu ngay lập tức mà không cần chờ các truy vấn chạy trong thời gian dài.
- Tải "lạnh" trong nền: Uỷ quyền truy xuất dữ liệu cũ trong quá khứ cho một hàng đợi không đồng bộ, có mức độ ưu tiên thấp hơn hoặc quy trình trong nền sau khi giao diện người dùng chính được kết xuất.
Phân đoạn truy vấn để tổng hợp
- Vì các điểm cuối tổng hợp và tổng hợp hằng ngày áp dụng giới hạn tối đa về phạm vi ngày (14 hoặc 90 ngày, tuỳ thuộc vào loại dữ liệu), nên bạn phải chia các truy vấn tổng hợp lớn trong quá khứ thành các khoảng thời gian nhỏ hơn, tuần tự trong các giới hạn này.
- Xử lý hàng loạt hoặc theo trình tự các truy vấn phụ này một cách an toàn để tuân thủ giới hạn về mức độ đồng thời và duy trì các chỉ báo tiến trình ổn định trên giao diện người dùng.
Tận dụng các bản tổng hợp được tổng hợp trước
Cấu trúc lại trang tổng quan và biểu đồ xu hướng để sử dụng các điểm cuối tóm tắt được tổng hợp trước (chẳng hạn như DailyRollUpDataPoints). Điều này sẽ giảm đáng kể chi phí tính toán ở phần phụ trợ và thời gian truyền mạng cho máy khách.
Xử lý lỗi linh hoạt (thử lại thông minh)
- Triển khai quy trình xử lý thời gian đợi luỹ thừa nghiêm ngặt khi gặp phải giới hạn về tốc độ (
429 Too Many Requests) và thời gian chờ của cổng máy chủ (504 Gateway Timeout). Đừng bao giờ thử lại ngay lập tức các tải trọng lớn không thành công. Việc thử lại ngay lập tức sẽ làm tăng tình trạng tắc nghẽn ở phần phụ trợ và làm trầm trọng thêm tình trạng suy giảm hệ thống.
Quyền truy cập của bên thứ ba
Các thiết bị Fitbit không thể giao tiếp trực tiếp với các ứng dụng hoặc dịch vụ bên thứ ba. Những thiết bị này được thiết kế để giao tiếp và đồng bộ hoá riêng với ứng dụng Fitbit.
Thiết bị tự động đồng bộ hoá dữ liệu trong suốt cả ngày, bất cứ khi nào ứng dụng Fitbit mở hoặc cứ 15 phút một lần nếu Bluetooth đang hoạt động và ứng dụng đang chạy ở chế độ nền. Sau khi quá trình đồng bộ hoá này hoàn tất, dữ liệu sẽ có sẵn cho các dịch vụ bên thứ ba thông qua Google Health API.
Tiêu chuẩn về khoảng cách
Khoảng cách tập thể dục, chẳng hạn như elevationGainMillimeters, được đo bằng milimet làm đơn vị tiêu chuẩn vì những lý do sau:
- Duy trì độ chính xác của dữ liệu: Lý do quan trọng nhất để sử dụng đơn vị milimet là để đảm bảo chúng tôi không mất độ chính xác nào trong dữ liệu mà chúng tôi đọc và cung cấp. Việc sử dụng một đơn vị đo lường chi tiết như milimet cho phép chúng tôi biểu thị các phép đo với độ chính xác cao.
- Chuẩn hoá: Milimet là đơn vị chuẩn hoá được thiết kế trên các dịch vụ của chúng tôi. Tính nhất quán này giúp đảm bảo trải nghiệm đồng nhất cho các nhà phát triển tương tác với nhiều phần của API.
- Hỗ trợ hệ thống đo lường trên diện rộng: Việc sử dụng một đơn vị cơ bản như milimet giúp nhà phát triển dễ dàng chuyển đổi sang bất kỳ đơn vị nào khác mà họ chọn, bất kể họ đang làm việc với hệ thống đo lường bằng mét, hệ thống đo lường Anh hoặc các hệ thống đo lường khác.
Độ dài ngày thay đổi
API Sức khoẻ ưu tiên thời gian của người dùng để tính đến độ dài ngày thay đổi do Giờ tiết kiệm ánh sáng ban ngày hoặc do đi lại. Mỗi điểm dữ liệu được lưu trữ cùng với cả dấu thời gian UTC thực tế và độ lệch UTC đang hoạt động tại thời điểm xảy ra sự kiện. Điều này cho phép hệ thống:
- Ánh xạ sự kiện với một thời điểm chính xác trong thực tế.
- Điều chỉnh thời gian theo bối cảnh địa phương của người dùng để tổng hợp.
Giờ tiết kiệm ánh sáng ban ngày
Khi quy ước giờ mùa hè diễn ra, việc "chuyển về" sẽ dẫn đến một ngày dương lịch có 25 giờ và dữ liệu tổng hợp cho ngày đó sẽ chứa dữ liệu của 25 giờ. Việc "chuyển sang giờ mùa hè" dẫn đến một ngày dương lịch kéo dài 23 giờ, trong đó thời gian chuyển về Giờ chuẩn.
Du lịch
Việc di chuyển qua các múi giờ có thể gây ra những biến động đáng kể hơn nữa về thời lượng thực tế của một ngày dương lịch.
Sử dụng điểm cuối dailyRollUp để điều chỉnh chênh lệch múi giờ. Tính năng này tự động phân bổ dữ liệu cho ngày dương lịch mà dữ liệu được ghi lại theo giờ địa phương của người dùng, nhờ đó "kết hợp" ngày với nhau bất kể có sự thay đổi về múi giờ.