คู่มือนี้จะอธิบายวิธีแก้ปัญหาที่พบบ่อยเมื่อใช้ Google Health API
ข้อผิดพลาด 4xx ของไคลเอ็นต์
ระบบจะแสดงรหัสสถานะ 4xx เมื่อเกิดปัญหาในโค้ดแอปไคลเอ็นต์ โปรดดูองค์ประกอบเนื้อหาการตอบกลับเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับปัญหา
400 คำขอไม่ถูกต้อง
| ข้อความ | คำอธิบาย | คำแนะนำ |
|---|---|---|
| คำขอมีอาร์กิวเมนต์ที่ไม่ถูกต้อง | ระบบไม่รองรับรหัสประเภทข้อมูล {value} | ตรวจสอบว่าปลายทางรองรับประเภทข้อมูลที่อ้างอิง |
| ได้รับเพย์โหลด JSON ไม่ถูกต้อง ตัวเลขฐาน 8/ฐาน 16 ไม่ใช่ค่า JSON ที่ถูกต้อง | ปลายทาง dailyRollUp ไม่รองรับค่าเดือนและวันที่ที่แสดงเป็น MM หรือ DD ตามลำดับ ตัวเลขหลักเดียวไม่ควรมีเลข 0 (ศูนย์) นำหน้า |
|
| หมายเลขโปรเจ็กต์ไม่ถูกต้องในชื่อทรัพยากร | เมื่อลบหรืออัปเดตผู้รับข้อมูลโดยใช้รหัสโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google ใน URL ของคำขอแทนหมายเลขโปรเจ็กต์ ซึ่งใช้ได้กับการสมัครใช้บริการเว็บฮุกโดยใช้ปลายทาง projects.subscribers |
ใช้หมายเลขโปรเจ็กต์ Google Cloud ใน URL ของคำขอ ไม่ใช่รหัสโปรเจ็กต์ |
401 ไม่ได้รับอนุญาต
| ข้อความ | คำอธิบาย | คำแนะนำ |
|---|---|---|
| คำขอมีข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ที่ไม่ถูกต้อง คาดว่าจะมีโทเค็นเพื่อการเข้าถึง OAuth 2, คุกกี้เข้าสู่ระบบ หรือข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์อื่นๆ ที่ถูกต้อง | INVALID_AUTHENTICATOR: Token expired | โทเค็นเพื่อการเข้าถึงของคุณหมดอายุแล้ว ใช้โทเค็นการรีเฟรชเพื่อรับโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรชใหม่ หรือผู้ใช้ควรให้ความยินยอมแก่แอปพลิเคชันอีกครั้ง |
403 ต้องห้าม
| ข้อความ | คำอธิบาย | คำแนะนำ |
|---|---|---|
| ผู้โทรไม่มีสิทธิ์ | เมื่อสร้างหรือแสดงรายการผู้รับข้อมูลโดยใช้รหัสโปรเจ็กต์ Google Cloud ใน URL ของคำขอแทนหมายเลขโปรเจ็กต์ ซึ่งใช้ได้กับการสมัครใช้บริการเว็บฮุกโดยใช้ปลายทาง projects.subscribers |
ใช้หมายเลขโปรเจ็กต์ Google Cloud ใน URL ของคำขอ ไม่ใช่รหัสโปรเจ็กต์ |
| ผู้โทรไม่มีสิทธิ์ | ไม่สามารถสร้าง UberMint จาก GaiaMint ได้ | ผู้ใช้ดำเนินการตามขั้นตอนการให้สิทธิ์ได้ แต่การเรียกปลายทางล้มเหลว ปัญหานี้อาจเกิดขึ้นเมื่อบัญชี Fitbit เดิมให้ความยินยอมแก่แอปแทนบัญชี Google วิธีแก้ข้อผิดพลาดนี้
|
404 ไม่พบ
| ข้อความ | คำอธิบาย | คำแนะนำ |
|---|---|---|
ไม่พบ URL ที่ขอ /v4/users/me/dataTypes/{dataType}/dataPoints ในเซิร์ฟเวอร์นี้ |
สาเหตุที่เป็นไปได้
|
ดึงข้อมูลรหัสผู้ใช้ Fitbit
คุณอาจต้องยืนยันบัญชี Google ของผู้ใช้ที่เข้าสู่ระบบแอป Fitbit บนมือถือเพื่อช่วยแก้ปัญหาของผู้ใช้
วิธีค้นหารหัสผู้ใช้ Fitbit
- เปิดแอป Fitbit บนมือถือ
- กดไอคอนคุณ ที่มุมขวาล่าง
- กดลิงก์แก้ไขโปรไฟล์ ในการ์ดด้านบนที่มีชื่อผู้ใช้และวันที่เข้าร่วม
- ไปที่ด้านล่างสุดของหน้า ในส่วนบัญชีของคุณ ค่า ที่กำหนดให้กับรหัสคือรหัสผู้ใช้ Fitbit (เช่น CV5TKH)
เพิกถอนความยินยอมให้แอป
เมื่อช่วยผู้ใช้แก้ปัญหาการเชื่อมต่อ OAuth2 กับแอป คุณอาจต้องให้ผู้ใช้ยกเลิกการลิงก์บัญชีกับแอป แล้วทำตามขั้นตอนการให้สิทธิ์อีกครั้ง
วิธียกเลิกการลิงก์บัญชี Google กับแอป
- เปิดแอป Fitbit บนมือถือ
- กดไอคอนโปรไฟล์ผู้ใช้ Fitbit ที่มุมขวาบน
- กดจัดการบัญชี Google
- เลือกการ์ดข้อมูลและความเป็นส่วนตัว
- เลื่อนลงไปที่ส่วน**ข้อมูลจากแอปและบริการที่คุณใช้** ในส่วนแอปและบริการ ให้เลือกแอปและบริการของบุคคลที่สาม
- ค้นหาชื่อแอปในรายการแอปที่เชื่อมต่อ แล้วให้ผู้ใช้เลือกแอปดังกล่าว
- กดลบการเชื่อมต่อทั้งหมดที่คุณมีกับ <ชื่อแอป>
- ให้ผู้ใช้กด "ยืนยัน" เพื่อเพิกถอนความยินยอมให้แอป
เมื่อกระบวนการเพิกถอนเสร็จสมบูรณ์ ระบบจะนำผู้ใช้กลับไปที่รายการหน้าแอปและบริการของบุคคลที่สาม ผู้ใช้อาจต้องรีเฟรชหน้าเพื่อดูชื่อแอปที่นำออกจากรายการ
แก้ปัญหาการซิงค์อุปกรณ์ล่าช้า
เมื่อแก้ไขข้อบกพร่องที่เกี่ยวข้องกับข้อมูลผู้ใช้ที่ขาดหายไปหรือล่าช้า การตรวจสอบรุ่นอุปกรณ์ที่จับคู่แล้วของผู้ใช้และวันที่ซิงค์ครั้งล่าสุดจะเป็นประโยชน์
ข้อมูลรุ่น (เช่น รุ่นตัวติดตาม Fitbit หรือสมาร์ทวอทช์) และวันที่ซิงค์ครั้งล่าสุดมีประโยชน์ในการแก้ปัญหาและดึงข้อมูลย้อนหลังหลังจากที่การซิงค์ล่าช้า
ตัวอย่างเช่น หากพบว่าข้อมูลขาดหายไปหรือมีการส่งข้อมูลล่าช้าโดยไม่คาดคิด ให้ทำดังนี้
- ตรวจสอบว่ารหัสผู้ใช้ที่คุณกำลังค้นหาตรงกับรหัสผู้ใช้ของบัญชี Fitbit
ที่เข้าสู่ระบบแอปบนอุปกรณ์เคลื่อนที่ หากต้องการรับรหัสผู้ใช้ในแอปบนอุปกรณ์เคลื่อนที่
โปรดดูหัวข้อ ดึงข้อมูลรหัสผู้ใช้ Fitbit
หากต้องการรับรหัสผู้ใช้จากโทเค็นเพื่อการเข้าถึง ให้เรียกปลายทาง
getIdentity - ตรวจสอบเวลาซิงค์ครั้งล่าสุดเพื่อดูว่าอุปกรณ์ของผู้ใช้ซิงค์กับแอป Google Health บนอุปกรณ์เคลื่อนที่ครั้งล่าสุดเมื่อใด
- หากอุปกรณ์ไม่ได้ซิงค์เมื่อเร็วๆ นี้ แสดงว่าความล่าช้ามีแนวโน้มที่จะเกิดจากอุปกรณ์ออฟไลน์หรือไม่ได้ซิงค์กับแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ ไม่ใช่ปัญหาของ API
- เมื่อผู้ใช้เปิดแอปพลิเคชันบนอุปกรณ์เคลื่อนที่และซิงค์อุปกรณ์ คุณจะดึงข้อมูลย้อนหลังในช่วงเวลาตั้งแต่เวลาซิงค์ครั้งล่าสุดได้
หากต้องการดึงข้อมูลอุปกรณ์ที่จับคู่แล้วของผู้ใช้ ให้เรียก
users.pairedDevices.list
ปลายทาง ซึ่งจะแสดงรายการอุปกรณ์ที่มีข้อมูลต่อไปนี้
deviceVersion: ชื่อผลิตภัณฑ์หรือรุ่นของอุปกรณ์ (เช่น "Charge 6")lastSyncTime: การประทับเวลาของการซิงค์ครั้งล่าสุดที่สำเร็จ