Phần Quy cách API cung cấp thông tin tổng quan chi tiết về các thành phần kỹ thuật cần thiết để tích hợp với nền tảng, bao gồm cả phạm vi uỷ quyền, định nghĩa về kiểu dữ liệu và cấu trúc điểm cuối. API này thể hiện sự phát triển mang tính chiến lược của Fitbit Web API cũ, được xây dựng lại trên cơ sở hạ tầng hiện đại để đảm bảo trải nghiệm ổn định và nhất quán hơn cho nhà phát triển.
Phạm vi
Bạn phải cập nhật yêu cầu uỷ quyền để sử dụng các phạm vi của Google Health API. Các phạm vi này xác định xem ứng dụng của bạn có hỗ trợ các thao tác đọc hoặc ghi hay không. Không sử dụng những phạm vi không cần thiết cho ứng dụng của bạn. Bạn luôn có thể thêm nhiều phạm vi hơn sau này nếu thiết kế của ứng dụng thay đổi.
Phạm vi Google Health API là một URL HTTP bắt đầu bằng https://www.googleapis.com/auth/googlehealth.{scope}. Ví dụ: https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly.
Liên kết phạm vi
Sau đây là cách các phạm vi của Fitbit Web API ánh xạ đến các phạm vi của Google Health API:
| Phạm vi của Fitbit Web API | Phạm vi Google Health API |
|---|---|
| hoạt động | .activity_and_fitness.readonly
.activity_and_fitness.writeonly |
| blood_glucose | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| cardio_fitness | .activity_and_fitness.readonly
.activity_and_fitness.writeonly |
| điện tâm đồ | .ecg.readonly
|
| nhịp tim | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| irregular_rhythm_notifications | .irn.readonly
|
| vị trí | .location.readonly
|
| dinh dưỡng | .nutrition.readonly
.nutrition.writeonly |
| oxygen_saturation | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| hồ sơ | .profile.readonly
.profile.writeonly |
| respiratory_rate | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| cài đặt | .settings.readonly
.settings.writeonly |
| ngủ | .sleep.readonly
.sleep.writeonly |
| nhiệt độ | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| cân nặng | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
Loại dữ liệu
Sau đây là danh sách các loại dữ liệu của Google Health API và cách chúng liên kết với Fitbit Web API.
| Loại dữ liệu của Fitbit Web API | Loại dữ liệu Google Health APIdataType |
|---|---|
| Lượng calo tiêu hao khi vận động | Năng lượng đốt cháy khi hoạt độngactive-energy-burned
|
| Số phút hoạt động cho vùng nhịp tim | Số phút hoạt động cho vùng nhịp timactive-zone-minutes
|
| Chứa các thay đổi về mức độ hoạt động của người dùng | Mức độ hoạt độngactivity-level
|
| Độ cao | Độ caoaltitude
|
| Đường huyết | Đường huyếtblood-glucose
|
| Lượng mỡ trong cơ thể | Lượng mỡ trong cơ thểbody-fat
|
caloriesOut trong mỗi vùng nhịp tim |
Lượng calo tiêu thụ theo vùng nhịp timcalories-in-heart-rate-zone
|
| Nhiệt độ (Thân nhiệt) | Thân nhiệtcore-body-temperature
|
| Tóm tắt về HRV | Sự thay đổi tần số tim hằng ngàydaily-heart-rate-variability
|
| Tóm tắt SpO2 | Độ bão hoà oxy hằng ngàydaily-oxygen-saturation
|
| Tần số tim lúc nghỉ ngơi | Tần số tim lúc nghỉ ngơi hằng ngàydaily-resting-heart-rate
|
| Nhiệt độ trên da | Dữ liệu nhiệt độ cơ thể hằng ngày trong lúc ngủdaily-sleep-temperature-derivations
|
| Khoảng cách | Khoảng cáchdistance
|
| Điện tâm đồ (ECG) | Điện tâm đồ (ECG)electrocardiogram
|
| Hoạt động đã ghi | Bài tậpexercise
|
| Tầng | Số tầngfloors
|
| Thực phẩm | Thực phẩmfood
|
| Đơn vị đo lường thực phẩm | Đơn vị đo lường thực phẩmfood-measurement-unit
|
| Nhịp tim | Nhịp timheart-rate
|
| Biến thiên nhịp tim trong ngày | Sự thay đổi tần số timheart-rate-variability
|
| Thông báo về tình trạng nhịp tim không đều (IRN) | Thông báo về tình trạng nhịp tim không đềuirregular-rhythm-notification
|
| Nhật ký thực phẩm | Nhật ký dinh dưỡngnutrition-log
|
| SpO2 trong ngày | Độ bão hoà oxyoxygen-saturation
|
| Giá trị VO2 Max khi người dùng chạy | Tốc độ tiêu thụ oxy tối đa khi chạyrun-vo2-max
|
| Số phút ít vận động theo chuỗi thời gian hoạt động | Khoảng thời gian ít vận độngsedentary-period
|
| Ngủ | Ngủsleep
|
| Các bước | Các bướcsteps
|
| Chuỗi thời gian hoạt động của các kiểu bơi | Dữ liệu về số lượt bơiswim-lengths-data
|
Hoạt động caloriesOut |
Tổng lượng calototal-calories
|
| Giá trị tốc độ tiêu thụ oxy tối đa | Tốc độ tiêu thụ oxy tối đavo2-max
|
| Trọng lượng | Trọng lượngweight
|
Điểm cuối
Các điểm cuối REST sử dụng một cú pháp nhất quán cho tất cả các loại dữ liệu.
- Điểm cuối dịch vụ: URL HTTP cơ sở thay đổi thành https://health.googleapis.com.
- Cú pháp điểm cuối: Google Health API hỗ trợ một số lượng hạn chế các điểm cuối mà hầu hết các loại dữ liệu được hỗ trợ đều có thể sử dụng. Điều này cung cấp cú pháp nhất quán cho tất cả các kiểu dữ liệu và giúp bạn dễ dàng sử dụng các điểm cuối hơn.
- Giá trị nhận dạng người dùng: Bạn phải chỉ định user ID hoặc me trong cú pháp điểm cuối. Khi sử dụng tôi, mã nhận dạng người dùng sẽ được suy luận từ mã truy cập.
Ví dụ: Sau đây là ví dụ về điểm cuối GET Profile được gọi bằng Google Health API
GET https://health.googleapis.com/v4/users/me/profile
Mối liên kết điểm cuối
Hãy xem bảng các kiểu dữ liệu của Google Health API để biết danh sách các kiểu dữ liệu hiện có và các phương thức API mà chúng hỗ trợ.
| Loại điểm cuối Fitbit Web API | Google Health API |
| GET (Log | Summary | Daily Summary) khi bạn yêu cầu một ngày dữ liệu | phương thức dailyRollup với windowSize = 1 ngày |
| GET (Trong ngày) khi bạn yêu cầu dữ liệu chi tiết | Phương thức list |
| GET (Chuỗi thời gian) theo Ngày hoặc Khoảng thời gian | Phương thức rollUp hoặc dailyRollUp bao gồm một phạm vi ngày |
| GET (Danh sách nhật ký) | Phương thức list |
| TẠO VÀ CẬP NHẬT Nhật ký | Phương thức patch |
| XOÁ Nhật ký | Phương thức batchDelete |
| Lấy hồ sơ | users.getProfile trả về thông tin cụ thể của người dùng
users.getSettings trả về đơn vị và múi giờ của người dùng |
| CẬP NHẬT Hồ sơ | users.updateProfile sửa đổi thông tin cụ thể của người dùng
users.updateSettings sửa đổi đơn vị và múi giờ của người dùng |
| Lấy mã nhận dạng người dùng | users.getIdentity trả về mã nhận dạng người dùng Fitbit cũ và mã nhận dạng người dùng Google. |
| Nhận thiết bị | users.pairedDevices trả về danh sách các thiết bị đã ghép nối |
| Tạo gói thuê bao | projects.subscribers.subscriptions.create sẽ tạo một gói thuê bao theo cách thủ công |
| Xoá gói thuê bao | projects.subscribers.subscriptions.delete xoá một gói thuê bao |
| Lấy danh sách gói thuê bao | projects.subscribers.subscriptions.list liệt kê tất cả các gói thuê bao |