ขีดจํากัดและโควต้าช่วยปกป้องโครงสร้างพื้นฐานของ Google จากกระบวนการอัตโนมัติที่ใช้ Reports API ในทางที่ไม่เหมาะสม คำขอที่มากเกินไปจาก API อาจเกิดจากการพิมพ์ผิดที่ไม่มีอันตราย หรืออาจเกิดจากระบบที่ออกแบบมาอย่างไม่มีประสิทธิภาพซึ่งทำให้มีการเรียก API โดยไม่จำเป็น ไม่ว่าสาเหตุจะเป็นอะไร การบล็อกการรับส่งข้อมูลจากแหล่งที่มาที่เฉพาะเจาะจงเมื่อถึงระดับหนึ่งเป็นสิ่งจำเป็นต่อสุขภาพโดยรวมของระบบ Google Workspace ซึ่งจะช่วยให้มั่นใจได้ว่าการกระทำของนักพัฒนาแอปรายหนึ่งจะไม่ส่งผลเสียต่อชุมชนในวงกว้าง
ในกรณีที่คำขอ API ล้มเหลว คุณจะได้รับการตอบกลับเป็นรหัสสถานะ HTTP รหัสสถานะ 403 มีข้อมูลข้อผิดพลาดเกี่ยวกับการป้อนข้อมูลที่ไม่ถูกต้อง และรหัสสถานะ HTTP 503 มีข้อมูลข้อผิดพลาดที่ระบุว่าโควต้า API ใดเกิน การตอบกลับเหล่านี้ช่วยให้แอปพลิเคชันที่กำหนดเองตรวจหาข้อผิดพลาดเหล่านี้และดำเนินการอย่างเหมาะสมได้
หากคำขอของคุณต้องดำเนินการให้เสร็จภายในระยะเวลาที่กำหนด ให้ส่งคำขอแบบขนานหรือใช้หลายเธรดในแอปพลิเคชัน Java หรือ C# ตัวอย่างคำขอแบบขนานคือการขออีเมลเป็นชุดเล็กๆ จากผู้ใช้ที่แตกต่างกัน แทนที่จะเพิ่มหรือนำอีเมลจำนวนมากออกจากผู้ใช้รายเดียวพร้อมกัน ในกรณีของชุดข้อความ ให้ลองเริ่มด้วยชุดข้อความ 10 ชุด โดยมีชุดข้อความ 1 ชุดต่ออีเมลของผู้ใช้ 1 ราย โปรดทราบว่าคำแนะนำเกี่ยวกับเธรดมีข้อดีข้อเสียและไม่เหมาะกับสถานการณ์ API ทั้งหมด หากจำนวนคำขอสูงเกินไป จะเกิดข้อผิดพลาดเกี่ยวกับโควต้า
สำหรับข้อผิดพลาดทั้งหมดที่อิงตามเวลา (สูงสุด N รายการเป็นเวลา N วินาทีต่อเธรด) โดยเฉพาะข้อผิดพลาดรหัสสถานะ 503 เราขอแนะนำให้โค้ดของคุณดักจับข้อยกเว้นและใช้อัลกอริทึมการถอยแบบทวีคูณเพื่อรอการหน่วงเวลาเล็กน้อยก่อนที่จะลองเรียกที่ล้มเหลวอีกครั้ง ตัวอย่าง Reports API สำหรับ 1 เธรดคือการรอ 5 วินาทีแล้วลองเรียกที่ล้มเหลวอีกครั้ง หากคำขอสำเร็จ ให้ทำตามรูปแบบนี้ซ้ำสำหรับเธรดอื่นๆ หากคำขอครั้งที่ 2 ไม่สำเร็จ แอปพลิเคชันควรลดความถี่ของคำขอจนกว่าการเรียกจะสำเร็จ เช่น เพิ่มการหน่วงเวลาเริ่มต้น 5 วินาทีเป็น 10 วินาที แล้วลองโทรอีกครั้ง นอกจากนี้ ให้กำหนดขีดจำกัดการลองอีกครั้งด้วย เช่น ลองส่งคำขออีกครั้ง 5-7 ครั้งโดยใช้เวลาหน่วงที่แตกต่างกันก่อนที่แอปพลิเคชันจะแสดงข้อผิดพลาดแก่ผู้ใช้
จำกัดสูงสุด
หมวดหมู่ขีดจำกัด API | จำกัดสูงสุด |
---|---|
รายงานอัตรา QPS และ QPD | API จะจำกัดจำนวนคำขอสำหรับโปรเจ็กต์ Google Cloud
ค่าเริ่มต้นที่ตั้งไว้ในคอนโซล Google Cloud คือ 2,400 คำค้นหาต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ Google Cloud
คุณเพิ่มขีดจำกัดนี้ได้จากหน้าโควต้า Admin SDK API ของโปรเจ็กต์ Google Cloud
หากเกินขีดจำกัดเหล่านี้ เซิร์ฟเวอร์จะแสดงรหัสสถานะ HTTP 503 ใช้อัลกอริทึม Exponential Backoff เมื่อลองส่งคำขออีกครั้ง |
ข้อจำกัดเพิ่มเติมสำหรับ activities.list |
activities.list API มีขีดจำกัดเพิ่มเติมคือคำค้นหาตัวกรอง 250 รายการต่อนาที (คำค้นหาตัวกรอง 15,000 รายการต่อชั่วโมง)
การค้นหาตัวกรองคือคำขอ API ที่มีพารามิเตอร์การค้นหาต่อไปนี้อย่างน้อย 1 รายการ
|
หมวดหมู่โควต้า API | โควต้า |
maxResults | จำนวนระเบียนที่แสดงในแต่ละหน้าของการตอบกลับของ API อยู่ระหว่าง 0 ถึง 1,000 ระเบียน ค่าเริ่มต้นคือ 1,000 รายการ |
ขีดจำกัดประเภทอื่นๆ
ขีดจำกัดประเภทอื่นๆ | ข้อจำกัดและหลักเกณฑ์ |
---|---|
รูปแบบข้อมูล ค่าเริ่มต้น | รูปแบบข้อมูลเริ่มต้นคือ JSON นอกจากนี้ API ยังรองรับรูปแบบ Atom ด้วย |
คำขอที่ไม่ได้รับอนุญาต | Google ไม่อนุญาตคำขอที่ไม่ได้รับอนุญาตไปยัง API ระบบจะถือว่าคำขอไม่ได้รับอนุญาตหากไม่มีโทเค็นการให้สิทธิ์ ดูข้อมูลเพิ่มเติมได้ที่การให้สิทธิ์คำขอ |
ข้อความเตือน |
|
แนวทางปฏิบัติแนะนำสำหรับ activities.list
คาดว่าจะใช้วิธีการ activities.list ในการตรวจสอบการตรวจสอบ
คำขอควรมีช่วงเวลาโดยใช้พารามิเตอร์ startTime
และ endTime
เพื่อให้ได้ประสิทธิภาพสูงสุด ช่วงเวลาที่แคบลงจะส่งผลให้เวลาในการตอบสนองเร็วขึ้นอย่างมาก
วิธีนี้ไม่ได้มีไว้สำหรับการดึงข้อมูลบันทึกการตรวจสอบจำนวนมาก หากคุณใช้โควต้าคำขอตัวกรอง activities.list จนหมดเป็นประจำ ให้พิจารณาตัวเลือกต่อไปนี้
- ตั้งค่าการส่งออกบันทึก Google Workspace ไปยัง BigQuery และใช้ Query API อันทรงพลังของ BigQuery เพื่อดึงและวิเคราะห์ข้อมูลที่คุณต้องการโดยไม่มีข้อจํากัดโควต้า API
- ใช้คำขอที่ไม่ใช่ตัวกรองที่มีช่วงเวลา และทำการกรองฝั่งไคลเอ็นต์ (เช่น ใช้ตรรกะการกรองในแอปพลิเคชัน) แทนการใช้คำขอตัวกรอง ซึ่งจะช่วยให้คุณค้นหาตัวกรองได้เกินขีดจำกัด 250 รายการต่อนาที แต่คุณยังคงต้องอยู่ภายใต้ขีดจำกัดการค้นหา 2,400 รายการต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ Google Cloud