การตอบกลับข้อผิดพลาด

เมื่อคำขอ API สำเร็จ API จะแสดงรหัสสถานะ 200 OK พร้อมกับข้อมูลที่ขอในเนื้อความของการตอบกลับ หากเกิดข้อผิดพลาด API จะแสดงรหัสข้อผิดพลาดมาตรฐานอย่างใดอย่างหนึ่งที่กำหนดโดย 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 มีฟิลด์ต่อไปนี้

ช่อง คำอธิบาย
รหัส รหัสสถานะ HTTP เช่น 400, 401, 403, 429 หรือ 500
ข้อความ คำอธิบายข้อผิดพลาดสั้นๆ
สถานะ รหัสข้อผิดพลาด 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 กับขีดจำกัดการลองใหม่เพื่อไม่ให้เกินโควต้าข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์