เมื่อคำขอ API สำเร็จ API จะแสดงรหัสสถานะ 200 OK พร้อมกับข้อมูลที่ขอในเนื้อหาการตอบกลับ หากเกิดข้อผิดพลาด API จะแสดงรหัสข้อผิดพลาด Canonical รายการใดรายการหนึ่งที่กำหนดโดย Google APIs ซึ่งแมปกับรหัสสถานะ HTTP และเนื้อหาการตอบกลับที่มีข้อมูลข้อผิดพลาด เมื่อพบข้อผิดพลาด ให้ตรวจสอบช่อง message และ status ในเนื้อหาการตอบกลับ JSON เพื่อดูรายละเอียดเฉพาะที่จะช่วยในการแก้ไขข้อบกพร่อง
รูปแบบข้อผิดพลาด
หากคำขอทำให้เกิดข้อผิดพลาด API จะแสดงรหัสสถานะ HTTP ที่เหมาะสมและเนื้อหาการตอบกลับ JSON การตอบกลับข้อผิดพลาดจะมีออบเจ็กต์ error ที่มีโครงสร้างดังนี้
{
"error": {
"code": 403,
"message": "User does not have sufficient permissions for this property.",
"status": "PERMISSION_DENIED"
}
}
ออบเจ็กต์ error มีช่องต่อไปนี้
| ช่อง | คำอธิบาย |
|---|---|
| code | รหัสสถานะ HTTP เช่น 400, 401, 403, 429 หรือ 500 |
| message | คำอธิบายสั้นๆ ของข้อผิดพลาด |
| status | รหัสข้อผิดพลาด Canonical เช่น INVALID_ARGUMENT, UNAUTHENTICATED, PERMISSION_DENIED, RESOURCE_EXHAUSTED หรือ INTERNAL |
ข้อผิดพลาดที่พบบ่อย
ตารางต่อไปนี้แสดงข้อผิดพลาดที่พบบ่อยซึ่ง API แสดง
| รหัสสถานะ HTTP | รหัส Canonical | เหตุผล | คำอธิบาย |
|---|---|---|---|
| 400 | INVALID_ARGUMENT |
คำขอไม่ถูกต้อง | คำขอมีรูปแบบไม่ถูกต้อง ซึ่งอาจเกิดจากพารามิเตอร์ขาดหายไปหรือไม่ถูกต้อง เช่น ช่วงวันที่ไม่ถูกต้องหรือตัวกรองมีรูปแบบไม่ถูกต้อง |
| 401 | UNAUTHENTICATED |
ข้อมูลรับรองไม่ถูกต้อง | คำขอไม่มีข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ที่ถูกต้องสำหรับทรัพยากรเป้าหมาย ซึ่งอาจเกิดขึ้นหากไม่มีโทเค็นเพื่อการเข้าถึง OAuth 2.0 โทเค็นไม่ถูกต้อง หรือโทเค็นหมดอายุ ทำตามวิธีการในหัวข้อ การตรวจสอบสิทธิ์ด้วย OAuth 2.0 เพื่อรับโทเค็นที่ถูกต้อง |
| 403 | PERMISSION_DENIED |
สิทธิ์ไม่เพียงพอ | ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์แล้วไม่มีสิทธิ์เข้าถึงพร็อพเพอร์ตี้ Google Analytics ที่ขอ |
| 429 | RESOURCE_EXHAUSTED |
เกินโควต้าแล้ว | ระบบปฏิเสธคำขอเนื่องจากมีการใช้งานถึงขีดจำกัดโควต้า API แล้ว ดูข้อมูลเพิ่มเติมได้ที่ขีดจำกัดและโควต้า Data API คุณอาจใช้งานเกินขีดจำกัดต่อโปรเจกต์หรือต่อพร็อพเพอร์ตี้ |
| 500 | INTERNAL |
ข้อผิดพลาดภายในเซิร์ฟเวอร์ | เกิดข้อผิดพลาดที่ไม่คาดคิดเกี่ยวกับเซิร์ฟเวอร์ ซึ่งโดยปกติแล้วจะเป็นปัญหาชั่วคราว เราขอแนะนำให้ลองส่งคำขออีกครั้งโดยใช้ Exponential Backoff คุณควรใช้ Exponential Backoff ที่มี ขีดจำกัดการลองใหม่ เพื่อหลีกเลี่ยงการใช้งานเกิน โควต้าข้อผิดพลาดของเซิร์ฟเวอร์ |
| 503 | UNAVAILABLE |
ไม่สามารถให้บริการได้ | บริการนี้ไม่พร้อมใช้งานชั่วคราว ซึ่งโดยปกติแล้วจะเป็นปัญหาชั่วคราว เราขอแนะนำให้ลองส่งคำขออีกครั้งโดยใช้ Exponential Backoff คุณควรใช้ Exponential Backoff ที่มี ขีดจำกัดการลองใหม่ เพื่อหลีกเลี่ยงการใช้งานเกิน โควต้าข้อผิดพลาดของเซิร์ฟเวอร์ |