ขีดจำกัดและโควต้า

ขีดจํากัดและโควต้าช่วยปกป้องโครงสร้างพื้นฐานของ 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 รายการ
  • userKey
  • actorIpAddress
  • eventName
  • filters
  • orgUnitID
  • groupIdFilter
หมวดหมู่โควต้า API โควต้า
maxResults จำนวนระเบียนที่แสดงในแต่ละหน้าของการตอบกลับของ API อยู่ระหว่าง 0 ถึง 1,000 ระเบียน ค่าเริ่มต้นคือ 1,000 รายการ

ขีดจำกัดประเภทอื่นๆ

ขีดจำกัดประเภทอื่นๆ ข้อจำกัดและหลักเกณฑ์
รูปแบบข้อมูล ค่าเริ่มต้น รูปแบบข้อมูลเริ่มต้นคือ JSON นอกจากนี้ API ยังรองรับรูปแบบ Atom ด้วย
คำขอที่ไม่ได้รับอนุญาต Google ไม่อนุญาตคำขอที่ไม่ได้รับอนุญาตไปยัง API ระบบจะถือว่าคำขอไม่ได้รับอนุญาตหากไม่มีโทเค็นการให้สิทธิ์ ดูข้อมูลเพิ่มเติมได้ที่การให้สิทธิ์คำขอ
ข้อความเตือน
  • ไม่มีข้อมูล: ข้อมูลของแอปพลิเคชันนี้และวันที่นี้ไม่พร้อมใช้งาน และจะไม่พร้อมใช้งานในอนาคต
  • ข้อมูลบางส่วนพร้อมใช้งาน: ข้อมูลของแอปพลิเคชันนี้และวันที่นี้อาจพร้อมใช้งานในอนาคต
ดูไวยากรณ์คำเตือนของ Reports API ได้ที่การอ้างอิง API สำหรับลูกค้าและสำหรับผู้ใช้

แนวทางปฏิบัติแนะนำสำหรับ activities.list

คาดว่าจะใช้วิธีการ activities.list ในการตรวจสอบการตรวจสอบ คำขอควรมีช่วงเวลาโดยใช้พารามิเตอร์ startTime และ endTime เพื่อให้ได้ประสิทธิภาพสูงสุด ช่วงเวลาที่แคบลงจะส่งผลให้เวลาในการตอบสนองเร็วขึ้นอย่างมาก วิธีนี้ไม่ได้มีไว้สำหรับการดึงข้อมูลบันทึกการตรวจสอบจำนวนมาก หากคุณใช้โควต้าคำขอตัวกรอง activities.list จนหมดเป็นประจำ ให้พิจารณาตัวเลือกต่อไปนี้

  • ตั้งค่าการส่งออกบันทึก Google Workspace ไปยัง BigQuery และใช้ Query API อันทรงพลังของ BigQuery เพื่อดึงและวิเคราะห์ข้อมูลที่คุณต้องการโดยไม่มีข้อจํากัดโควต้า API
  • ใช้คำขอที่ไม่ใช่ตัวกรองที่มีช่วงเวลา และทำการกรองฝั่งไคลเอ็นต์ (เช่น ใช้ตรรกะการกรองในแอปพลิเคชัน) แทนการใช้คำขอตัวกรอง ซึ่งจะช่วยให้คุณค้นหาตัวกรองได้เกินขีดจำกัด 250 รายการต่อนาที แต่คุณยังคงต้องอยู่ภายใต้ขีดจำกัดการค้นหา 2,400 รายการต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ Google Cloud