ส่วนข้อกำหนด 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_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 |
| คลื่นไฟฟ้าหัวใจ | .ecg.readonly
|
| อัตราการเต้นของหัวใจ | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| irregular_rhythm_notifications | .irn.readonly
|
| สถานที่ | .location.readonly
|
| โภชนาการ | .nutrition.readonly
.nutrition.writeonly |
| oxygen_saturation | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| โปรไฟล์ | .profile.readonly
.profile.writeonly |
| respiratory_rate | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| การตั้งค่า | .settings.readonly
.settings.writeonly |
| การนอนหลับ | .sleep.readonly
.sleep.writeonly |
| อุณหภูมิ | .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly |
| น้ำหนัก | .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-measurement-unit
|
| อัตราการเต้นของหัวใจ | อัตราการเต้นของหัวใจheart-rate
|
| HRV ระหว่างวัน | ความผันแปรของอัตราการเต้นของหัวใจheart-rate-variability
|
| การแจ้งเตือนเมื่อจังหวะการเต้นของหัวใจผิดปกติ (IRN) | การแจ้งเตือนเมื่อจังหวะการเต้นของหัวใจผิดปกติirregular-rhythm-notification
|
| บันทึกอาหาร | บันทึกโภชนาการnutrition-log
|
| SpO2 ระหว่างวัน | ความอิ่มตัวของออกซิเจนoxygen-saturation
|
| ค่า VO2 Max เมื่อผู้ใช้วิ่ง | VO2 max ขณะวิ่งrun-vo2-max
|
| อนุกรมเวลาของกิจกรรม นาทีที่อยู่กับที่ | ระยะเวลาอยู่กับที่ไม่เคลื่อนไหวsedentary-period
|
| การนอนหลับ | การนอนหลับsleep
|
| ขั้นตอน | ขั้นตอนsteps
|
| สโตรกการว่ายน้ำแบบอนุกรมเวลาของกิจกรรม | ข้อมูลความยาวของสระว่ายน้ำswim-lengths-data
|
กิจกรรม caloriesOut |
แคลอรี่ทั้งหมดtotal-calories
|
| ค่าปริมาณการใช้ออกซิเจนสูงสุด | VO2 Maxvo2-max
|
| น้ำหนัก | น้ำหนักweight
|
ปลายทาง
ปลายทาง REST ใช้ไวยากรณ์ที่สอดคล้องกันสำหรับข้อมูลทุกประเภท
- ปลายทางของบริการ: URL ฐานของ HTTP เปลี่ยนเป็น https://health.googleapis.com
- ไวยากรณ์ของปลายทาง: Google Health API รองรับปลายทางจํานวนจํากัด ซึ่งประเภทข้อมูลที่รองรับส่วนใหญ่สามารถใช้ได้ ซึ่งจะช่วยให้มีไวยากรณ์ที่สอดคล้องกันสำหรับข้อมูลทุกประเภท และทำให้ใช้งานปลายทางได้ง่ายขึ้น
- ตัวระบุผู้ใช้: ควรระบุรหัสผู้ใช้หรือฉันใน ไวยากรณ์ของปลายทาง เมื่อใช้ฉัน ระบบจะอนุมาน User-ID จากโทเค็นการเข้าถึง
ตัวอย่าง: นี่คือตัวอย่างของปลายทาง 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 (Log | Summary | Daily Summary) เมื่อคุณขอข้อมูลวันเดียว | เมธอด dailyRollup ที่มี windowSize = 1 วัน |
| GET (ระหว่างวัน) เมื่อคุณขอข้อมูลแบบละเอียด | เมธอด list |
| GET (อนุกรมเวลา) ตามวันที่หรือช่วงเวลา | เมธอด rollUp หรือ dailyRollUp รวมถึงช่วงวันที่ |
| GET (รายการบันทึก) | เมธอด list |
| สร้างและอัปเดตบันทึก | เมธอด patch |
| ลบบันทึก | เมธอด batchDelete |
| GET Profile | 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 แสดงรายการการสมัครใช้บริการทั้งหมด |