ขีดจำกัดและโควต้าช่วยปกป้องโครงสร้างพื้นฐานของ Google จากกระบวนการอัตโนมัติที่ใช้ Directory API ในทางที่ไม่เหมาะสม คำขอที่มากเกินไปจาก API อาจเกิดจากการพิมพ์ผิดที่ไม่มีอันตราย หรืออาจเกิดจากระบบที่ออกแบบมาอย่างไม่มีประสิทธิภาพซึ่งทำให้มีการเรียก API โดยไม่จำเป็น ไม่ว่าสาเหตุจะเป็นอะไร การบล็อกการรับส่งข้อมูลจากแหล่งที่มาที่เฉพาะเจาะจงเมื่อถึงระดับหนึ่งเป็นสิ่งจำเป็นต่อสุขภาพโดยรวมของระบบ Google Workspace ซึ่งจะช่วยให้มั่นใจได้ว่าการกระทำของนักพัฒนาแอปรายหนึ่งจะไม่ส่งผลเสียต่อชุมชนในวงกว้าง
ในกรณีที่คำขอ API ไม่สำเร็จ ซึ่งเกิดขึ้นได้ยาก API จะแสดงรหัสสถานะ HTTP และเหตุผลของข้อผิดพลาด นอกจากนี้ เนื้อหาของการตอบกลับยังมีคำอธิบายโดยละเอียดเกี่ยวกับสาเหตุที่ทำให้เกิดข้อผิดพลาด
รายการต่อไปนี้แสดงรหัสข้อผิดพลาดที่เป็นไปได้ สาเหตุ คำอธิบายที่เกี่ยวข้อง และการดำเนินการที่แนะนำสำหรับข้อผิดพลาดที่เกิดจากการเกินขีดจำกัดโควต้า
| รหัส | เหตุผล | คำอธิบาย | การดำเนินการที่แนะนำ |
|---|---|---|---|
| 403 | userRateLimitExceeded | ระบุว่าเกินขีดจำกัดอัตราของผู้ใช้ ค่าเริ่มต้นที่ตั้งไว้ในคอนโซล Google Cloud คือ 2,400 คำค้นหาต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ Google Cloud | เพิ่มขีดจำกัดต่อผู้ใช้จากหน้าโควต้า API ของ Admin SDK ในโปรเจ็กต์ Google Cloud หรือลดอัตราการส่งคำขอโดยใช้การถอยแบบทวีคูณ |
| 403 | quotaExceeded | ระบุว่าคำขอพร้อมกันสำหรับการดำเนินการหนึ่งๆ ถึงขีดจำกัดแล้ว | ลองอีกครั้งโดยใช้ Exponential Backoff คุณต้องลดอัตราการส่งคำขอ |
| 429 | rateLimitExceeded | ระบุว่าคำขอพร้อมกันสำหรับการดำเนินการหนึ่งๆ ถึงขีดจำกัดแล้ว | ลองอีกครั้งโดยใช้ Exponential Backoff คุณต้องลดอัตราที่คุณส่งคำขอ ขีดจำกัดนี้ใช้กับบัญชี Google Workspace แต่ละบัญชี ไม่ใช่ไคลเอ็นต์ API หรือผู้ใช้แต่ละราย ไม่สามารถเพิ่มขีดจำกัดนี้ได้ |
การใช้ Exponential Backoff
Exponential Backoff คือกระบวนการที่ไคลเอ็นต์ลองส่งคำขอที่ล้มเหลวอีกครั้งเป็นระยะๆ โดยเพิ่มระยะเวลาในการลองส่งคำขออีกครั้ง เป็นกลยุทธ์การจัดการข้อผิดพลาดมาตรฐาน สำหรับแอปพลิเคชันเครือข่าย การใช้ Exponential Backoff จะเพิ่มประสิทธิภาพ การใช้แบนด์วิดท์ ลดจำนวนคำขอที่จำเป็นเพื่อให้ได้การตอบกลับที่สำเร็จ และเพิ่มปริมาณงานของคำขอในสภาพแวดล้อมที่ทำงานพร้อมกันให้ได้สูงสุด
ขั้นตอนการใช้ Exponential Backoff แบบง่ายมีดังนี้
- ส่งคำขอไปยัง API
- รับการตอบกลับที่มีข้อผิดพลาดซึ่งมีรหัสข้อผิดพลาดที่ลองใหม่ได้
- รอ 1 วินาที +
random_number_millisecondsวินาที - ส่งคำขออีกครั้ง
- รับการตอบกลับที่มีข้อผิดพลาดซึ่งมีรหัสข้อผิดพลาดที่ลองใหม่ได้
- รอ 2 วินาที +
random_number_millisecondsวินาที - ส่งคำขออีกครั้ง
- รับการตอบกลับที่มีข้อผิดพลาดซึ่งมีรหัสข้อผิดพลาดที่ลองใหม่ได้
- รอ 4 วินาที +
random_number_millisecondsวินาที - ส่งคำขออีกครั้ง
- รับการตอบกลับที่มีข้อผิดพลาดซึ่งมีรหัสข้อผิดพลาดที่ลองใหม่ได้
- รอ 8 วินาที +
random_number_millisecondsวินาที - ส่งคำขออีกครั้ง
- รับการตอบกลับที่มีข้อผิดพลาดซึ่งมีรหัสข้อผิดพลาดที่ลองใหม่ได้
- รอ 16 วินาที +
random_number_millisecondsวินาที - ส่งคำขออีกครั้ง
- หากยังพบข้อผิดพลาดอยู่ ให้หยุดและบันทึกข้อผิดพลาด
ในโฟลว์ด้านบน random_number_milliseconds คือจำนวนมิลลิวินาทีแบบสุ่มที่น้อยกว่าหรือเท่ากับ 1, 000 ซึ่งจำเป็น
เพื่อหลีกเลี่ยงข้อผิดพลาดในการล็อกบางอย่างในการติดตั้งใช้งานพร้อมกันบางอย่าง
ต้องกำหนด random_number_milliseconds ใหม่หลังจากการรอแต่ละครั้ง
หมายเหตุ: ระยะเวลารอจะเป็น
(2 ^ n) + random_number_milliseconds เสมอ โดยที่
n คือจำนวนเต็มที่เพิ่มขึ้นอย่างเดียว ซึ่งกำหนดไว้ตอนแรก
เป็น 0 และจะเพิ่มขึ้น 1 สำหรับแต่ละการวนซ้ำ (แต่ละคำขอ)
ระบบตั้งค่าให้อัลกอริทึมสิ้นสุดเมื่อ n เป็น 5 ขีดจำกัดนี้มีไว้เพื่อป้องกันไม่ให้ไคลเอ็นต์ลองส่งคำขออีกครั้งอย่างไม่มีที่สิ้นสุดเท่านั้น และส่งผลให้เกิดความล่าช้ารวมประมาณ 32 วินาทีก่อนที่จะถือว่าคำขอเป็น "ข้อผิดพลาดที่กู้คืนไม่ได้" ไคลเอ็นต์ API สามารถใช้ จำนวนการลองที่สูงขึ้นได้หากจำเป็น
ขีดจำกัดและโควต้า API
| หมวดหมู่ขีดจำกัด API | จำกัดสูงสุด |
|---|---|
| การสร้างผู้ใช้ | คุณสร้างผู้ใช้ได้ไม่เกิน 10 คนต่อโดเมนต่อวินาทีโดยใช้ Directory API |
| เพิ่มกลุ่มเป็นสมาชิกในกลุ่มอื่นแล้ว | อาจใช้เวลาถึง 10 นาทีก่อนที่สมาชิกของกลุ่มย่อยจะปรากฏเป็นสมาชิกของกลุ่มหลัก ขีดจำกัดนี้อาจเปลี่ยนแปลงได้ตามความจุของระบบ |
| อุปกรณ์เคลื่อนที่ |
คุณใช้ Directory API เพื่อดำเนินการต่อไปนี้ได้
|
| การเปลี่ยนชื่อผู้ใช้ | อาจใช้เวลาถึง 10 นาทีในการเผยแพร่ในบริการทั้งหมด ก่อนที่จะเปลี่ยนชื่อผู้ใช้ ขอแนะนำให้ผู้ใช้ออกจากระบบเซสชันเบราว์เซอร์และบริการทั้งหมด โปรดดูรายละเอียดเพิ่มเติมในหัวข้ออัปเดตผู้ใช้ |
| การสร้าง/อัปเดตหน่วยขององค์กร |
|
| หมวดหมู่โควต้า API | โควต้า |
อุปกรณ์ Chrome annotatedLocation, จำนวนอักขระสูงสุด
|
ข้อมูลตำแหน่งของอุปกรณ์ต้องมีอักขระไม่เกิน 200 ตัว |
อุปกรณ์ Chrome notes, จำนวนอักขระสูงสุด
|
ข้อมูลหมายเหตุของอุปกรณ์มีความยาวได้สูงสุด 500 อักขระ |
อุปกรณ์ Chrome, อักขระสูงสุด user ตัว
|
ชื่อผู้ใช้อุปกรณ์ต้องมีอักขระไม่เกิน 100 ตัว |
| ชื่อแทนโดเมน สูงสุด | จำนวนชื่อแทนโดเมนสูงสุดคือ 20 รายการ |
| กลุ่ม คำอธิบาย | คำอธิบายมีอักขระได้สูงสุด 4,096 ตัว |
| กลุ่มต่อบัญชี | บัญชี G Suite รุ่นเดิมที่ใช้งานฟรีจะจำกัดจำนวนกลุ่มไว้ที่ 10 กลุ่ม ส่วนรุ่นอื่นๆ จะไม่มีการจำกัดจำนวนกลุ่ม |
| กลุ่ม สมาชิกต่อกลุ่ม | บัญชี G Suite รุ่นเดิมที่ใช้งานฟรีจะให้กลุ่มมีสมาชิกได้สูงสุด 100 คน ส่วนรุ่นอื่นๆ จะไม่มีการจำกัดจำนวนสมาชิกที่กลุ่มจะมีได้ ดูขีดจำกัดการเป็นสมาชิกกลุ่มต่อผู้ใช้ได้ที่หัวข้อทำความเข้าใจนโยบายและขีดจำกัดของ Groups |
| สตริงการค้นหา maxResults | API จะแสดงผลข้อมูลต่อไปนี้
|
| หลายโดเมน จำนวนโดเมนสูงสุดที่อนุญาตในบัญชี | 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 ใช้คอนโซลผู้ดูแลระบบของ Google เพื่อเปลี่ยนอีเมลของสมาชิกในกลุ่ม เมื่อเปลี่ยนแล้ว API จะแสดงการเปลี่ยนแปลงอีเมลโดยอัตโนมัติ |
| กลุ่ม การตั้งค่า | การตั้งค่าการเข้าถึงกลุ่ม ตัวเลือกการแชร์ การตรวจสอบ และที่เก็บถาวรของการสนทนาจะได้รับการจัดการโดยใช้คอนโซลผู้ดูแลระบบของ Google ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่ากลุ่มได้ที่ศูนย์ช่วยเหลือด้านการดูแลระบบ |
| กลุ่ม การส่งข้อความ | Google จำกัดจำนวนข้อความที่คุณส่งถึงผู้รับภายนอกได้ในครั้งเดียวเพื่อป้องกันสแปมและการละเมิดทางอีเมล หากคุณส่งข้อความไปยังกลุ่ม ระบบจะนับสมาชิกภายนอกแต่ละคนเป็นผู้รับ 1 ราย ดูข้อมูลเพิ่มเติมได้ที่ขีดจำกัดการส่งอีเมลและป้องกันไม่ให้ระบบบล็อกหรือนำอีเมลที่ส่งหาผู้ใช้ Gmail ไปยังจดหมายขยะ |
| กลุ่ม การส่งข้อความ NDR | คุณไม่สามารถส่งหรือส่งต่อข้อความแจ้งการจัดส่งไม่ถึง (NDR) หรือที่เรียกว่า "ข้อความตีกลับ" ไปยังกลุ่มได้ |
| กลุ่มที่ผู้ใช้สร้างขึ้น ข้อจำกัด | โปรดดูขีดจำกัดของกลุ่มที่ผู้ใช้สร้างในศูนย์ช่วยเหลือด้านการดูแลระบบ |
| หน่วยขององค์กร การเปิด/ปิดบริการ | ใช้คอนโซลผู้ดูแลระบบของ Google เพื่อจัดการการเปิดและปิดบริการสำหรับหน่วยขององค์กร |
| รหัสผ่าน | ประกอบด้วยอักขระผสมกันได้ ต้องมีอักขระอย่างน้อย 8 ตัว ความยาวสูงสุด 100 อักขระ |
| รูปภาพ | ใน API เวอร์ชันนี้ รูปภาพคือรูปโปรไฟล์ Google ล่าสุดของผู้ใช้ |
| ชื่อผู้ใช้ | ชื่อผู้ใช้มีตัวอักษร (a-z) ตัวเลข (0-9) ขีดกลาง (-) ขีดล่าง (_) และ Google Workspace จะจดจำจุด (.) ได้ ซึ่งไม่เหมือนกับ Gmail ชื่อผู้ใช้ต้องไม่มีเครื่องหมายเท่ากับ (=), วงเล็บ (<,>) หรือมีจุด (.) มากกว่า 1 จุดต่อกัน ดูข้อมูลเพิ่มเติมได้ที่ศูนย์ช่วยเหลือด้านการดูแลระบบ |
| ชื่อผู้ใช้ การเปลี่ยนชื่อ | Google Hangouts จะทิ้งคำเชิญแชทที่จดจำไว้ทั้งหมดหลังจากเปลี่ยนชื่อ ผู้ใช้ต้องขอสิทธิ์แชทกับเพื่อนอีกครั้ง ระบบจะเก็บชื่อผู้ใช้เดิมไว้เป็นอีเมลแทนเพื่อให้ส่งอีเมลได้อย่างต่อเนื่องในกรณีที่มีการตั้งค่าการส่งต่ออีเมล และจะใช้เป็นชื่อผู้ใช้ใหม่ไม่ได้ ดูรายละเอียดสำคัญเกี่ยวกับผลกระทบของการเปลี่ยนชื่อผู้ใช้ได้ที่ศูนย์ช่วยเหลือด้านการดูแลระบบ ใช้การดำเนินการลบชื่อแทนของผู้ใช้เพื่อนำอีเมลแทนออกหลังจากเปลี่ยนชื่อ |
| ผู้ใช้ในหลายโดเมน | บัญชี Google Workspace สามารถมีโดเมนใดก็ได้ ในบัญชีที่มีหลายโดเมน ผู้ใช้ในโดเมนหนึ่งจะแชร์บริการกับผู้ใช้ในโดเมนบัญชีอื่นๆ ได้ คอมโพเนนต์หลายโดเมนมีดังนี้
|
| คำเตือน สมาชิกกลุ่ม | GROUP_CANNOT_CONTAIN_CYCLE - API ไม่อนุญาตให้มีการวนซ้ำในการเป็นสมาชิกกลุ่ม เช่น หาก group1 เป็นสมาชิกของ group2 แสดงว่า group2 จะเป็นสมาชิกของ group1 ไม่ได้ |