ส่วนข้อกำหนด API จะให้ภาพรวมโดยละเอียดเกี่ยวกับคอมโพเนนต์ทางเทคนิคที่จำเป็นสำหรับการผสานรวมกับแพลตฟอร์ม ซึ่งรวมถึงขอบเขตการให้สิทธิ์ คำจำกัดความของประเภทข้อมูล และโครงสร้างปลายทาง API นี้แสดงถึงการพัฒนาเชิงกลยุทธ์ของ Fitbit Web API แบบเดิม ซึ่งสร้างขึ้นใหม่บนโครงสร้างพื้นฐานที่ทันสมัยเพื่อให้มั่นใจว่านักพัฒนาแอปจะได้รับประสบการณ์การใช้งานที่เสถียรและสอดคล้องกันมากขึ้น
ขอบเขต
คุณต้องอัปเดตคำขอการให้สิทธิ์เพื่อใช้ขอบเขต Google Health API ขอบเขตจะกำหนดว่าแอปของคุณรองรับการดำเนินการอ่านหรือเขียน ทำตามวิธีการใช้งานขอบเขต ซึ่ง ระบุให้ขอเฉพาะขอบเขตที่จำเป็น กำหนดค่าสิทธิ์เข้าถึงแบบเขียนเมื่อ ส่งข้อมูลเท่านั้น และจัดการความยินยอมบางส่วนอย่างเหมาะสม
ขอบเขต Google Health API คือ URL HTTP ที่ขึ้นต้นด้วย https://www.googleapis.com/auth/googlehealth.{scope} เช่น https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly
การแมปขอบเขต
ต่อไปนี้คือวิธีที่ขอบเขต Fitbit Web API แมปกับขอบเขต Google Health API
| ขอบเขต Fitbit Web API | ขอบเขต Google Health API |
|---|---|
| activity | .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 |
| electrocardiogram | .ecg.readonly
|
| heartrate | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| irregular_rhythm_notifications | .irn.readonly
|
| location | .location.readonly
|
| nutrition | .nutrition.readonly
.nutrition.writeonly |
| oxygen_saturation | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| profile | .profile.readonly
.profile.writeonly |
| respiratory_rate | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| settings | .settings.readonly
.settings.writeonly |
| sleep | .sleep.readonly
.sleep.writeonly |
| temperature | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| weight | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
ประเภทข้อมูล
ต่อไปนี้คือรายการประเภทข้อมูล Google Health API และวิธีที่ประเภทข้อมูลเหล่านี้แมปกับ Fitbit Web API
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีรายงานข้อมูลสำหรับประเภทเหล่านี้ได้ที่ คู่มือการมีอยู่ของข้อมูลและค่าศูนย์จริง คู่มือนี้มีรายละเอียดเกี่ยวกับการไม่มีการใช้งานและการกรองบนอุปกรณ์ที่สวมใส่
| ประเภทข้อมูล Fitbit Web API | ประเภทข้อมูล Google Health APIdataType |
|---|---|
| แคลอรี่จากกิจกรรม | พลังงานที่ใช้ไปขณะเคลื่อนไหวactive-energy-burned
|
| นาทีในโซนแอ็กทีฟ | นาทีในโซนแอ็กทีฟactive-zone-minutes
|
| มีการเปลี่ยนแปลงระดับกิจกรรมของผู้ใช้ | ระดับกิจกรรมactivity-level
|
| ระดับความสูง | ระดับความสูงaltitude
|
| น้ำตาลกลูโคสในเลือด | น้ำตาลกลูโคสในเลือดblood-glucose
|
| ไขมันร่างกาย | ไขมันร่างกายbody-fat
|
caloriesOut ในโซนอัตราการเต้นของหัวใจแต่ละโซน |
แคลอรี่ในโซนอัตราการเต้นของหัวใจcalories-in-heart-rate-zone
|
| อุณหภูมิ (แกนกลาง) | อุณหภูมิร่างกายแกนกลางcore-body-temperature
|
| ข้อมูลสรุป HRV | ความผันแปรของอัตราการเต้นของหัวใจรายวันdaily-heart-rate-variability
|
| ข้อมูลสรุป SpO2 | ความอิ่มตัวของออกซิเจนรายวันdaily-oxygen-saturation
|
| อัตราการเต้นของหัวใจขณะพัก | อัตราการเต้นของหัวใจขณะพักรายวันdaily-resting-heart-rate
|
| อุณหภูมิผิวหนัง | การอนุมานอุณหภูมิขณะนอนหลับรายวันdaily-sleep-temperature-derivations
|
| ระยะทาง | ระยะทางdistance
|
| คลื่นไฟฟ้าหัวใจ (ECG) | คลื่นไฟฟ้าหัวใจ (ECG)electrocardiogram
|
| กิจกรรมที่บันทึกไว้ | การออกกำลังกายexercise
|
| ชั้น | ชั้นfloors
|
| อาหาร | อาหารfood
|
| อาหาร | อาหารfood
|
| หน่วยวัดอาหาร | หน่วยวัดอาหารfood-measurement-unit
|
| หน่วยวัดอาหาร | หน่วยวัดอาหารfood-measurement-unit
|
| อัตราการเต้นของหัวใจ | อัตราการเต้นของหัวใจheart-rate
|
| HRV ระหว่างวัน | ความผันแปรของอัตราการเต้นของหัวใจheart-rate-variability
|
| การแจ้งเตือนเมื่อจังหวะการเต้นของหัวใจผิดปกติ (IRN) | การแจ้งเตือนเมื่อจังหวะการเต้นของหัวใจผิดปกติirregular-rhythm-notification
|
| บันทึกอาหาร | บันทึกโภชนาการnutrition-log
|
| บันทึกอาหาร | บันทึกโภชนาการnutrition-log
|
| SpO2 ระหว่างวัน | ความอิ่มตัวของออกซิเจนoxygen-saturation
|
| ค่า VO2 Max เมื่อผู้ใช้วิ่ง | VO2 Max ขณะวิ่งrun-vo2-max
|
| อนุกรมเวลาของกิจกรรม นาทีที่อยู่กับที่ | ช่วงเวลาที่อยู่กับที่ไม่เคลื่อนไหวsedentary-period
|
| การนอนหลับ | การนอนหลับsleep
|
| ขั้นตอน | ขั้นตอนsteps
|
| อนุกรมเวลาของกิจกรรม การว่ายน้ำเป็นจังหวะ | ข้อมูลความยาวของการว่ายน้ำswim-lengths-data
|
caloriesOut ของกิจกรรม |
แคลอรี่ทั้งหมดtotal-calories
|
| ค่า VO2 Max | VO2 Maxvo2-max
|
| น้ำหนัก | น้ำหนักweight
|
ปลายทาง
ปลายทาง REST ใช้ไวยากรณ์ที่สอดคล้องกันสำหรับข้อมูลทุกประเภท
- ปลายทางของบริการ: URL HTTP ฐานเปลี่ยนเป็น https://health.googleapis.com
- ไวยากรณ์ของปลายทาง: Google Health API รองรับ ปลายทางจำนวนจำกัด ซึ่งข้อมูลประเภทที่รองรับส่วนใหญ่สามารถใช้ได้ ซึ่งจะช่วยให้ไวยากรณ์สอดคล้องกันสำหรับข้อมูลทุกประเภทและทำให้ปลายทางใช้งานง่ายขึ้น
- ตัวระบุผู้ใช้: คุณควรระบุรหัสผู้ใช้หรือ me ใน ไวยากรณ์ของปลายทาง เมื่อใช้ me ระบบจะอนุมานรหัสผู้ใช้จากโทเค็นเพื่อการเข้าถึง
ตัวอย่าง: ตัวอย่างปลายทาง GET Profile ที่เรียกใช้โดยใช้ Google Health API
GET https://health.googleapis.com/v4/users/me/profile
การแมปปลายทาง
ดูตาราง ประเภทข้อมูล Google Health API เพื่อดูรายการประเภทข้อมูลที่พร้อมใช้งานและเมธอด API ที่ประเภทข้อมูลเหล่านั้นรองรับ
| ประเภทปลายทาง Fitbit Web API | Google Health API |
| GET (บันทึก | ข้อมูลสรุป | ข้อมูลสรุปรายวัน) เมื่อคุณขอข้อมูลเพียงวันเดียว | เมธอด dailyRollup ที่มี windowSize = 1 วัน |
| GET (ระหว่างวัน) เมื่อคุณขอข้อมูลแบบละเอียด | เมธอด list |
| GET (อนุกรมเวลา) ตามวันที่หรือช่วงเวลา | เมธอด rollUp หรือ dailyRollUp ที่มีช่วงวันที่ |
| GET (รายการบันทึก) | เมธอด list |
| สร้างและอัปเดตบันทึก | เมธอด patch |
| ลบบันทึก | เมธอด batchDelete |
| รับโปรไฟล์ | users.getProfile จะแสดงข้อมูลเฉพาะของผู้ใช้
users.getSettings จะแสดงหน่วยและเขตเวลาของผู้ใช้ |
| อัปเดตโปรไฟล์ | users.updateProfile จะแก้ไขข้อมูลเฉพาะของผู้ใช้
users.updateSettings จะแก้ไขหน่วยและเขตเวลาของผู้ใช้ |
| รับรหัสผู้ใช้ | users.getIdentity จะแสดงรหัสผู้ใช้เดิมของ Fitbit และรหัสผู้ใช้ Google |
| รับอุปกรณ์ | users.pairedDevices จะแสดงรายการอุปกรณ์ที่จับคู่ |
| สร้างการสมัครใช้บริการ | projects.subscribers.subscriptions.create จะสร้างการสมัครใช้บริการด้วยตนเอง |
| ลบการสมัครใช้บริการ | projects.subscribers.subscriptions.delete จะลบการสมัครใช้บริการ |
| รับรายการการสมัครใช้บริการ | projects.subscribers.subscriptions.list จะแสดงการสมัครใช้บริการทั้งหมด |