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

ขีดจำกัดและโควต้าจะปกป้องโครงสร้างพื้นฐานของ Google จากกระบวนการอัตโนมัติที่ใช้ Directory API ในลักษณะที่ไม่เหมาะสม คำขอที่มากเกินไปจาก API อาจเป็นผลมาจากการพิมพ์ผิดที่ไม่เป็นอันตราย หรืออาจเกิดจากระบบที่ออกแบบมาอย่างไม่มีประสิทธิภาพซึ่งทำให้เรียก API ได้โดยไม่จำเป็น ไม่ว่าสาเหตุเกิดจากสาเหตุใด การบล็อกการเข้าชมจากแหล่งที่มาหนึ่งๆ เมื่อถึงเกณฑ์หนึ่งๆ เป็นสิ่งจำเป็นต่อประสิทธิภาพโดยรวมของระบบ Google Workspace การดำเนินการของนักพัฒนาซอฟต์แวร์ 1 รายจะไม่ส่งผลเสียต่อชุมชนขนาดใหญ่

ในกรณีที่คำขอ API ล้มเหลว ซึ่งมีโอกาสเกิดขึ้นไม่บ่อยนัก API จะแสดงรหัสสถานะ HTTP และเหตุผลของข้อผิดพลาด นอกจากนี้ ส่วนเนื้อหาของการตอบกลับจะมีคำอธิบายโดยละเอียดเกี่ยวกับสาเหตุที่ทำให้เกิดข้อผิดพลาด

รายการต่อไปนี้แสดงรหัสข้อผิดพลาดที่เป็นไปได้ เหตุผล คำอธิบายที่เกี่ยวข้อง และการดำเนินการที่แนะนำสำหรับข้อผิดพลาดที่เกิดจากการถึงขีดจำกัดโควต้า

รหัส เหตุผล คำอธิบาย การดำเนินการที่แนะนำ
403 userRateLimitExceeded บ่งบอกว่าผู้ใช้เกินขีดจำกัดของอัตราแล้ว ค่าเริ่มต้นที่กำหนดในคอนโซล Google Cloud คือคำค้นหา 2,400 รายการต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ Google Cloud เพิ่มขีดจำกัดต่อผู้ใช้จากหน้าโควต้า Admin SDK API ของโปรเจ็กต์ Google Cloud หรือชะลอการส่งคำขอโดยใช้ Exponential Backoff
403 quotaExceeded บ่งบอกว่าคำขอการดำเนินการบางอย่างพร้อมกันถึงขีดจำกัดแล้ว ลองอีกครั้งโดยใช้ Exponential Backoff คุณจะต้องชะลอความเร็วในการส่งคำขอ
429 rateLimitExceeded บ่งบอกว่าคำขอการดำเนินการบางอย่างพร้อมกันถึงขีดจำกัดแล้ว ลองอีกครั้งโดยใช้ Exponential Backoff คุณจะต้องชะลอความเร็วในการส่งคำขอ ขีดจำกัดนี้จำกัดตามบัญชี Google Workspace ไม่ใช่ต่อไคลเอ็นต์ API หรือต่อผู้ใช้ เพิ่มขีดจำกัดนี้ไม่ได้

การใช้ Exponential Backoff

Exponential Backoff คือกระบวนการของไคลเอ็นต์ในการส่งคำขอที่ล้มเหลวซ้ำเป็นระยะๆ เป็นระยะเวลาที่เพิ่มขึ้น ซึ่งก็คือกลยุทธ์การจัดการข้อผิดพลาดมาตรฐานสำหรับแอปพลิเคชันเครือข่าย การใช้ Exponential Backoff จะช่วยเพิ่มประสิทธิภาพของการใช้แบนด์วิดท์ ลดจำนวนคำขอที่ต้องใช้เพื่อให้ได้รับการตอบสนองที่ประสบความสำเร็จ และเพิ่มอัตราการส่งข้อมูลของคำขอในสภาพแวดล้อมที่เกิดขึ้นพร้อมกันให้สูงสุด

ขั้นตอนในการใช้งาน Exponential Backoff อย่างง่ายมีดังนี้

  1. ส่งคำขอไปยัง API
  2. รับการตอบกลับข้อผิดพลาดซึ่งมีรหัสข้อผิดพลาดที่ลองใหม่ได้
  3. รอ 1 วินาที + random_number_milliseconds วินาที
  4. ลองส่งคำขออีกครั้ง
  5. รับการตอบกลับข้อผิดพลาดซึ่งมีรหัสข้อผิดพลาดที่ลองใหม่ได้
  6. รอ 2 วินาที + random_number_milliseconds วินาที
  7. ลองส่งคำขออีกครั้ง
  8. รับการตอบกลับข้อผิดพลาดซึ่งมีรหัสข้อผิดพลาดที่ลองใหม่ได้
  9. รอ 4 วินาที + random_number_milliseconds วินาที
  10. ลองส่งคำขออีกครั้ง
  11. รับการตอบกลับข้อผิดพลาดซึ่งมีรหัสข้อผิดพลาดที่ลองใหม่ได้
  12. รอ 8 วินาที + random_number_milliseconds วินาที
  13. ลองส่งคำขออีกครั้ง
  14. รับการตอบกลับข้อผิดพลาดซึ่งมีรหัสข้อผิดพลาดที่ลองใหม่ได้
  15. รอ 16 วินาที + random_number_milliseconds วินาที
  16. ลองส่งคำขออีกครั้ง
  17. หากยังพบข้อผิดพลาด ให้หยุดและบันทึกข้อผิดพลาดนั้น

ในขั้นตอนข้างต้น random_number_milliseconds เป็นตัวเลขแบบสุ่มของมิลลิวินาทีที่น้อยกว่าหรือเท่ากับ 1, 000 ซึ่งจําเป็นเพื่อหลีกเลี่ยงข้อผิดพลาดในการล็อกบางประการในการใช้งานพร้อมกันบางรายการ ต้องกำหนด random_number_milliseconds ใหม่หลังจากรอแต่ละครั้ง

หมายเหตุ: การรอจะเป็น (2 ^ n) + random_number_milliseconds เสมอ โดย n คือจำนวนเต็มที่เพิ่มขึ้นแบบตายตัวซึ่งในตอนแรกกำหนดเป็น 0.n แล้วเพิ่มขึ้นทีละ 1 สำหรับแต่ละการทำซ้ำ (คำขอแต่ละรายการ)

อัลกอริทึมตั้งค่าให้สิ้นสุดเมื่อ n เท่ากับ 5 เพดานนี้มีไว้เพื่อหยุดไม่ให้ไคลเอ็นต์ลองอีกครั้งแบบไม่จำกัดเท่านั้น และจะทำให้เกิดความล่าช้าโดยรวมประมาณ 32 วินาทีก่อนที่คำขอจะถือว่าเป็น "ข้อผิดพลาดที่กู้คืนไม่ได้" ไคลเอ็นต์ API ใช้ความพยายามหลายครั้งมากขึ้นได้หากจำเป็น

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

หมวดหมู่ขีดจำกัด API ข้อจำกัด
การสร้างผู้ใช้ คุณไม่สามารถสร้างผู้ใช้เกิน 10 รายต่อโดเมนต่อวินาทีโดยใช้ Directory API
เพิ่มกลุ่มเป็นสมาชิกในอีกกลุ่มแล้ว อาจเกิดความล่าช้านานถึง 10 นาทีก่อนที่สมาชิกของกลุ่มย่อยจะปรากฏเป็นสมาชิกของกลุ่มหลัก ขีดจำกัดนี้อาจเปลี่ยนแปลงตามความจุของระบบ
อุปกรณ์เคลื่อนที่

เมื่อใช้ Directory API คุณสามารถทำสิ่งต่อไปนี้ได้

  • คำขอการดำเนินการ 20 รายการต่อวินาที
  • คำขอลบ 20 รายการต่อวินาที
  • 10 คำขอต่อวินาที
  • 10 คำขอรายการต่อวินาที
การเปลี่ยนชื่อผู้ใช้ ระบบอาจใช้เวลาถึง 10 นาทีในการเผยแพร่ไปยังบริการทั้งหมด ก่อนที่จะเปลี่ยนชื่อผู้ใช้ ขอแนะนำให้นำผู้ใช้ออกจากเซสชันและบริการทั้งหมดของเบราว์เซอร์ โปรดดูรายละเอียดเพิ่มเติมที่หัวข้ออัปเดตผู้ใช้
กำลังสร้าง/อัปเดตหน่วยขององค์กร
  • คุณไม่สามารถสร้าง/อัปเดตหน่วยขององค์กรมากกว่า 1 หน่วยต่อลูกค้า 1 รายต่อวินาทีโดยใช้ Directory API
  • ลำดับชั้นหน่วยขององค์กรของลูกค้าจำกัดความลึกไว้ที่ 35 ระดับ
  • จํานวนหน่วยขององค์กรทั้งหมดต่อลูกค้าต้องไม่เกิน 40,000 หน่วย
หมวดหมู่โควต้า API โควต้า
อุปกรณ์ Chrome annotatedLocation ตัว สูงสุด อักขระ จำนวนอักขระสูงสุดสำหรับข้อมูลตำแหน่งของอุปกรณ์คือ 200 ตัว
อุปกรณ์ Chrome notes ตัว สูงสุด อักขระ ข้อมูลโน้ตของอุปกรณ์มีจำนวนอักขระได้สูงสุด 500 ตัว
อุปกรณ์ Chrome มีอักขระได้สูงสุด user ตัว จำนวนอักขระสูงสุดสำหรับชื่อผู้ใช้อุปกรณ์คือ 100 ตัว
ชื่อแทนโดเมน สูงสุด จำนวนชื่อแทนโดเมนสูงสุดคือ 20 รายการ
กลุ่ม, คำอธิบาย จำนวนอักขระสูงสุดในคำอธิบายคือ 4,096 ตัว
กลุ่มต่อ 1 บัญชี เมื่อใช้บัญชี G Suite รุ่นเดิมที่ใช้งานได้โดยไม่เสียค่าใช้จ่าย จำนวนกลุ่มจะถูกจำกัดไว้ที่ 10 กลุ่ม ส่วนฉบับอื่นๆ จะไม่มีขีดจำกัดสำหรับจำนวนกลุ่ม
กลุ่ม จำนวนสมาชิกต่อกลุ่ม เมื่อใช้บัญชี G Suite รุ่นเดิมที่ใช้งานได้โดยไม่เสียค่าใช้จ่าย กลุ่มจะมีสมาชิกได้สูงสุด 100 คน ส่วนรุ่นอื่นๆ จะไม่มีขีดจำกัดสำหรับจำนวนสมาชิกในกลุ่ม โปรดดูขีดจํากัดของการเป็นสมาชิกกลุ่มต่อผู้ใช้ที่หัวข้อทําความเข้าใจนโยบายและขีดจำกัดของ Groups
สตริงการค้นหา max Results API จะแสดงผลดังนี้
  • Chrome และอุปกรณ์เคลื่อนที่ – ค่าเริ่มต้น และสูงสุด 100 รายการต่อหน้า
  • กลุ่มและสมาชิกกลุ่ม – ค่าเริ่มต้นและสมาชิกกลุ่มสูงสุด 200 รายการต่อหน้า
  • ผู้ใช้ – ค่าเริ่มต้น 100 รายการ และสูงสุด 500 รายการต่อหน้า
ชื่อแทนผู้ใช้และทรัพยากรหน่วยขององค์กรจะไม่ใช้การแบ่งหน้าการตอบกลับ ระบบจะตอบกลับอีเมลหลักของผู้ใช้ทั้งหมดตามลำดับตัวอักษร และไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ของคำตอบ
หลายโดเมน จำนวนโดเมนสูงสุดที่อนุญาตในบัญชี 600 (โดเมนหลัก 1 โดเมน + โดเมนเพิ่มเติม 599 โดเมน)
หน่วยขององค์กร จำนวนผู้ใช้สูงสุดที่ย้ายในครั้งเดียว ย้ายผู้ใช้ได้ครั้งละ 20 คน และที่อยู่อีเมลหลักของผู้ใช้จะต้องมีอยู่ในบัญชีอยู่แล้ว
ชื่อแทนผู้ใช้ จำนวนชื่อแทนทั้งหมดที่อนุญาตสำหรับบัญชีผู้ใช้แต่ละบัญชีคือ 30 รายการ
ชื่อแทนผู้ใช้ โดยใช้ชื่อแทนที่ลบไปแล้ว ชื่อแทนผู้ใช้ที่ถูกลบจะใช้ได้อีกครั้งทันที

ข้อจำกัดประเภทอื่นๆ ข้อจำกัดและหลักเกณฑ์
การเรียกเก็บเงินและการสร้างผู้ใช้ สำหรับผู้ใช้แพ็กเกจแบบยืดหยุ่นสำหรับ Google Workspace การสร้างผู้ใช้โดยใช้ API นี้จะส่งผลกระทบทางการเงิน และจะมีการเรียกเก็บเงินไปยังบัญชีสำหรับการเรียกเก็บเงินของลูกค้า เช่น หากคุณใช้แพ็กเกจแบบยืดหยุ่นสำหรับ Google Workspace การสร้างผู้ใช้ 10 คนจะส่งผลให้มีการเรียกเก็บเงินสำหรับใบอนุญาต Google Workspace จำนวน 10 รายการในบัญชี โดยคิดตามสัดส่วนจากเวลาที่สร้างเสร็จ หากใช้แพ็กเกจรายปี คุณอาจต้องจ่ายเงินค่าใบอนุญาตล่วงหน้าตามที่กำหนดไว้แล้ว และจะสร้างผู้ใช้ได้ไม่จำกัดจำนวนเท่านั้น โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับแพ็กเกจการเรียกเก็บเงินและบัญชีสำหรับการเรียกเก็บเงินที่ศูนย์ช่วยเหลือสำหรับการดูแลระบบ
ชื่อและนามสกุล ชื่อและนามสกุลมีอักขระได้สูงสุด 40 ตัว โดยจะรองรับอักขระ Unicode/UTF-8 และมีการเว้นวรรค ตัวอักษร (a-z) ตัวเลข (0-9) เครื่องหมายขีดกลาง (-) เครื่องหมายทับ (/) และจุด (.) ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับกฎการใช้อักขระได้ที่ศูนย์ช่วยเหลือสำหรับการดูแลระบบ
กำลังลบกลุ่ม การลบกลุ่มจะไม่ลบบัญชีผู้ใช้ของสมาชิกกลุ่ม
กลุ่มและสมาชิกกลุ่ม การเปลี่ยนอีเมล ใน API เวอร์ชันนี้ คุณสามารถเปลี่ยนแปลงอีเมลของกลุ่มก่อนที่จะเปิดใช้บริการ Google Workspace ได้ ใช้คอนโซลผู้ดูแลระบบเพื่อเปลี่ยนอีเมลของสมาชิกกลุ่ม เมื่อเปลี่ยนแล้ว API จะแสดงการเปลี่ยนแปลงอีเมลโดยอัตโนมัติ
กลุ่ม การตั้งค่า การตั้งค่าการเข้าถึงกลุ่ม ตัวเลือกการแชร์ การตรวจสอบ และที่เก็บการสนทนาได้รับการจัดการโดยใช้คอนโซลผู้ดูแลระบบ โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่ากลุ่มในศูนย์ช่วยเหลือสำหรับผู้ดูแลระบบ
Groups, การส่งข้อความ Google จำกัดจำนวนข้อความที่คุณสามารถส่งไปยังผู้รับภายนอกพร้อมกันได้เพื่อป้องกันสแปมและการละเมิดอีเมล หากคุณส่งข้อความไปยังกลุ่ม ระบบจะนับสมาชิกภายนอกแต่ละคนเป็นผู้รับ 1 คน โปรดดูข้อมูลเพิ่มเติมที่หัวข้อขีดจำกัดการส่งอีเมลและป้องกันไม่ให้ระบบบล็อกหรือนำอีเมลที่ส่งหาผู้ใช้ Gmail ไปยังจดหมายขยะ
กลุ่มที่ส่งข้อความ NDR คุณไม่สามารถส่งหรือส่งต่อข้อความแจ้งการจัดส่งไม่ถึง (NDR) หรือที่เรียกว่า "ข้อความตีกลับ" ไปยังกลุ่มได้
กลุ่มที่ผู้ใช้สร้าง ข้อจำกัด สำหรับขีดจำกัดของกลุ่มที่ผู้ใช้สร้าง โปรดดูที่ศูนย์ช่วยเหลือสำหรับการดูแลระบบ
หน่วยขององค์กร, เปิด/ปิดบริการ ใช้คอนโซลผู้ดูแลระบบเพื่อจัดการการเปิดและปิดบริการสำหรับหน่วยขององค์กร
รหัสผ่าน อาจมีชุดค่าผสมของอักขระใดก็ได้ ต้องมีอักขระอย่างน้อย 8 ตัว มีความยาวได้สูงสุดไม่เกิน 100 อักขระ
Photos ใน API เวอร์ชันนี้ รูปภาพคือรูปโปรไฟล์ Google ล่าสุดของผู้ใช้
ชื่อผู้ใช้ ชื่อผู้ใช้มีตัวอักษร (a-z), ตัวเลข (0-9), เครื่องหมายขีดกลาง (-), ขีดล่าง (_) และ Google Workspace จดจำจุดหรือจุด (.) ได้ ซึ่งไม่เหมือนกับ Gmail ชื่อผู้ใช้ต้องไม่มีเครื่องหมายเท่ากับ (=), วงเล็บ (<,>) หรือมีจุด (.) มากกว่าหนึ่งจุดต่อกัน ดูข้อมูลเพิ่มเติมได้ที่ศูนย์ช่วยเหลือสำหรับการดูแลระบบ
ชื่อผู้ใช้ กำลังเปลี่ยนชื่อ Google Hangouts จะทิ้งคำเชิญแชทที่จดจำไว้ทั้งหมดหลังจากเปลี่ยนชื่อ ผู้ใช้ต้องขอสิทธิ์ในการแชทกับเพื่อนอีกครั้ง ระบบจะเก็บรักษาชื่อผู้ใช้เดิมเป็นอีเมลแทนเพื่อให้การส่งอีเมลได้อย่างต่อเนื่องในกรณีที่มีการตั้งค่าการส่งต่ออีเมล และจะไม่สามารถใช้เป็นชื่อผู้ใช้ใหม่ได้ ดูรายละเอียดที่สำคัญเกี่ยวกับผลกระทบของการเปลี่ยนชื่อผู้ใช้ได้ที่ศูนย์ช่วยเหลือสำหรับการดูแลระบบ ใช้การดำเนินการลบชื่อแทนของผู้ใช้เพื่อนำอีเมลแทนออกหลังจากเปลี่ยนชื่อแล้ว
ผู้ใช้ในหลายโดเมน บัญชี Google Workspace มีโดเมนใดก็ได้ ในบัญชีโดเมนหลายรายการ ผู้ใช้ในโดเมนหนึ่งสามารถแชร์บริการกับผู้ใช้ในโดเมนอื่นๆ ได้ คอมโพเนนต์ของโดเมนหลายรายการ ได้แก่
  • โดเมนหลัก -- โดเมนหลักของบัญชีคือโดเมนของผู้ดูแลระบบที่ยอมรับข้อตกลงเกี่ยวกับข้อกำหนดในการให้บริการของ Google Workspace โดเมนนี้อยู่ที่ระดับบัญชีในหน่วยขององค์กรระดับบนสุด เมื่อลงชื่อสมัครใช้บัญชี Google Workspace เราขอแนะนําให้ใช้โดเมนธุรกิจของคุณเป็นโดเมนหลัก และสำรองโดเมนอื่นไว้สำหรับการใช้งานพิเศษ เช่น โปรแกรมนำร่องและการทดสอบ
    • ผู้ดูแลระบบขั้นสูงทุกคนสามารถจัดการบัญชีเต็มรูปแบบได้
    • API จะเปลี่ยนหรือย้ายโดเมนหลักของบัญชี Google Workspace ไม่ได้ อย่างไรก็ตาม API สามารถเปลี่ยนชื่อบัญชีของผู้ใช้โดยเปลี่ยนที่อยู่อีเมลจากโดเมนหนึ่งไปยังอีกโดเมนหนึ่ง
    • สำหรับบัญชี Google Workspace คุณมีเวลา 21 วันในการยืนยันความเป็นเจ้าของโดเมนหลัก สำหรับโดเมนเพิ่มเติม คุณต้องยืนยันการเป็นเจ้าของโดเมนก่อนที่จะใช้โดเมนสำหรับอีเมลหลักของผู้ใช้ ในกรณีเช่นนี้ ระยะเวลาผ่อนผัน 21 วันจะไม่มีผล
    • ใน API เวอร์ชันนี้ การตั้งค่าของโดเมนหลักจะมีผลกับโดเมนทั้งหมดที่เชื่อมโยงกับบัญชี ยกเว้นสิทธิ์ของผู้ใช้ในการเข้าถึงบริการของ Google Workspace
  • โดเมนบัญชีเพิ่มเติม -- หลังจากสร้างโดเมนหลักและตั้งค่าบัญชีแล้ว คุณสามารถเพิ่มโดเมนอื่นๆ ของคุณลงในบัญชีได้ สำหรับโดเมนเพิ่มเติม ให้ยืนยันการเป็นเจ้าของเมื่อตั้งค่าโดเมนนี้และก่อนใช้โดเมนสำหรับอีเมลหลักของผู้ใช้
  • โดเมนหลักของผู้ใช้ -- โดเมนที่ใช้ในที่อยู่อีเมลหลักของผู้ใช้คือโดเมนหลักของผู้ใช้ โดเมนนี้จะเป็นโดเมนใดก็ได้ในบัญชี รวมถึงโดเมนหลักด้วย
โปรดดูข้อจำกัดเกี่ยวกับโดเมนหลายรายการล่าสุดที่หัวข้อข้อจำกัดของโดเมนหลายรายการ ซึ่งรวมถึงข้อมูลสำหรับชื่อแทนโดเมน การรวมบัญชี และอื่นๆ
คำเตือน สมาชิกกลุ่ม GROUP_CANNOT_CONTAIN_CYCLE – API ไม่อนุญาตให้เปลี่ยนการเป็นสมาชิกกลุ่ม เช่น หาก group1 เป็นสมาชิกของกลุ่ม 2 กลุ่ม 2 จะเป็นสมาชิกของกลุ่ม 1 ไม่ได้