ขอโทเคนไม่ได้ (ข้อผิดพลาดการยืนยันตัวตน)
การแก้ปัญหา
โทเคน
การยืนยันตัวตน
OAuth
อาการ
OAuth token endpoint (
OAuth token endpoint (
/oauth/token) ส่งคืน 4xx และขอ access token ไม่ได้
ข้อผิดพลาดหลักและการรับมือ
| error | สาเหตุ | การรับมือ |
|---|---|---|
invalid_client | client ID/secret ผิด | ตรวจสอบในพอร์ทัลนักพัฒนา พิจารณาสร้างใหม่ |
invalid_grant | authorization code หมดอายุ ใช้ไปแล้ว หรือใช้ไม่ได้ | เริ่มฟลว์การอนุมัติใหม่ |
redirect_uri_mismatch | ไม่ตรงกับ URI ที่ลงทะเบียนไว้ | ตรวจสอบให้ตรงกันทั้งตัวพิมพ์ใหญ่-เล็ก สแลชท้าย และพอร์ต |
invalid_scope | สโคปที่ร้องขอไม่ได้รับอนุญาตให้แอป | ตรวจสอบสโคปในการตั้งค่าแอป |
unauthorized_client | แอปใช้ grant type นั้นไม่ได้ | ตรวจสอบการตั้งค่าชนิดของแอป |
unsupported_grant_type | พารามิเตอร์ grant_type ไม่ถูกต้อง | authorization_code หรือ refresh_token |
เช็กลิสต์การแยกแยะสาเหตุ
- ☐ client ID / secret สลับกันระหว่าง production กับ development หรือไม่
- ☐ เพิ่งสร้าง secret ใหม่มาแล้วหรือไม่
- ☐ แลก authorization code ภายใน 10 นาทีหลังได้รับมาหรือไม่
- ☐ พยายามใช้ authorization code เดิมซ้ำ 2 ครั้งหรือไม่
- ☐
redirect_uriตรงกับตอนขอ authorization request ทุกประการหรือไม่ - ☐ ตั้งเป็น
Content-Type: application/x-www-form-urlencodedแล้วหรือไม่ - ☐ พารามิเตอร์อยู่ใน body ไม่ใช่ query หรือไม่
ข้อผิดพลาดที่พบบ่อย
ส่งเป็น JSON ไปโดยไม่ตั้งใจ
OAuth token endpoint ต้องใช้ application/x-www-form-urlencoded เท่านั้น หากส่ง JSON จะได้ invalid_request
ส่งข้อมูล client ซ้ำทั้งใน Basic auth และใน body
โปรดเลือกใช้เพียงวิธีเดียว หากส่งทั้งสองอย่างอาจได้รับ invalid_request
ลืม URL-encode secret
หาก secret มีอักขระพิเศษ จำเป็นต้อง URL-encode
คู่มือที่เกี่ยวข้อง
วันที่เผยแพร่: 2569-04-27
วันที่อัปเดต: 2569-07-06
หมวดหมู่
แท็ก
API (22)
OAuth (15)
Android (10)
iOS (9)
Webhook (8)
api (7)
oauth (5)
getting-started (4)
การลงทะเบียนแอป (4)
การแก้ปัญหา (4)
บทความที่เกี่ยวข้อง
-
พอร์ทัลนักพัฒนาไม่แสดงเมื่อยังใช้แพลนฟรีขั้นตอนการตรวจสอบเมื่อพอร์ทัลนักพัฒนาของ ReceiptRoller ไม่แสดง อธิบายวิธีรับมือเมื่อใช้แพลนฟรี การสลับบัญชีธุรกิจ และช่วงเวลาที่การแสดงผลมีผล
-
สโคปประเภท User ส่งคืน app_not_approvedขั้นตอนการตรวจสอบเมื่อใช้สโคปประเภท User แล้วได้รับข้อผิดพลาด app_not_approved อธิบายขั้นตอนการพัฒนาในโหมด sandbox การยื่นขอตรวจสอบ และการนำ sandbox ขึ้นสู่ production
-
Webhook ไม่มาถึงการแยกแยะสาเหตุเมื่อ Webhook ไม่มาถึง endpoint ผู้รับ อธิบายขั้นตอนการตรวจสอบตามลำดับ ทั้งการตั้งค่า endpoint การสมัครรับ event ความสามารถในการเข้าถึง ความล้มเหลวในการตรวจสอบลายเซ็น และไฟร์วอลล์
-
ได้รับ 403/401 (สิทธิ์และสโคป)การแยกแยะสาเหตุเมื่อการเรียก API ส่งคืน 401 หรือ 403 อธิบายกรณีทั่วไป เช่น โทเคนไม่ถูกต้อง สโคปไม่เพียงพอ ไม่มีสิทธิ์เข้าถึงร้านค้า และสโคปประเภท User ที่ยังไม่ผ่านการตรวจสอบ