ขีดจำกัดและโควต้าจะช่วยปกป้องโครงสร้างพื้นฐานของ Google จากกระบวนการอัตโนมัติที่ใช้ Directory API ในทางที่ไม่เหมาะสม คำขอที่มากเกินไปจาก API อาจเกิดจากการพิมพ์ผิดที่ไม่เป็นอันตราย หรืออาจเกิดจากระบบที่ออกแบบมาอย่างไม่มีประสิทธิภาพซึ่งทำการเรียก API โดยไม่จำเป็น ไม่ว่าจะเกิดจากสาเหตุใดก็ตาม การบล็อกการเข้าชมจากแหล่งที่มาที่เฉพาะเจาะจงเมื่อถึงระดับหนึ่งเป็นสิ่งจำเป็นต่อประสิทธิภาพโดยรวมของระบบ Google Workspace ซึ่งจะช่วยให้มั่นใจได้ว่าการดำเนินการของนักพัฒนาแอปรายหนึ่งจะไม่ส่งผลเสียต่อชุมชนในวงกว้าง
ในกรณีที่คำขอ API ไม่สำเร็จ API จะแสดงรหัสสถานะ HTTP และสาเหตุของข้อผิดพลาด นอกจากนี้ เนื้อหาของการตอบกลับยังมีคำอธิบายโดยละเอียดเกี่ยวกับสาเหตุที่ทำให้เกิดข้อผิดพลาด
รายการต่อไปนี้แสดงรหัสข้อผิดพลาด สาเหตุ คำอธิบายที่เกี่ยวข้อง และการดำเนินการที่แนะนำสำหรับข้อผิดพลาดที่เกิดจากการใช้งานเกินขีดจำกัดโควต้า
| รหัส | เหตุผล | คำอธิบาย | การดำเนินการที่แนะนำ |
|---|---|---|---|
| 403 | userRateLimitExceeded | ระบุว่าเกินขีดจำกัดอัตราการส่งคำขอของผู้ใช้แล้ว ค่าเริ่มต้นที่ตั้งไว้ในคอนโซล Google Cloud คือ 2,400 คำค้นหาต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google Cloud | เพิ่มขีดจำกัดต่อผู้ใช้จากหน้าโควต้า Admin SDK API ของโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google หรือลดอัตราการส่งคำขอโดยใช้ Exponential Backoff |
| 403 | quotaExceeded | ระบุว่าคำขอหลายรายการพร้อมกันสำหรับการดำเนินการบางอย่างถึงขีดจำกัดแล้ว | ลองอีกครั้งโดยใช้ Exponential Backoff คุณต้องลดอัตราการส่งคำขอ |
| 429 | rateLimitExceeded | ระบุว่าคำขอหลายรายการพร้อมกันสำหรับการดำเนินการบางอย่างถึงขีดจำกัดแล้ว | ลองอีกครั้งโดยใช้ Exponential Back-off คุณต้องลดอัตราการส่งคำขอลง ขีดจำกัดนี้เป็นขีดจำกัดต่อบัญชี 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 และ n จะเพิ่มขึ้นทีละ 1 สำหรับการทำซ้ำแต่ละครั้ง (แต่ละคำขอ)
อัลกอริทึมได้รับการตั้งค่าให้สิ้นสุดเมื่อ n เท่ากับ 5 เพดานนี้มีไว้เพื่อหยุดไม่ให้ไคลเอ็นต์ลองใหม่ไปเรื่อยๆ เท่านั้น และส่งผลให้เกิดความล่าช้าทั้งหมดประมาณ 32 วินาทีก่อนที่คำขอจะถือว่าเป็น "ข้อผิดพลาดที่กู้คืนไม่ได้" ไคลเอ็นต์ API สามารถพยายามส่งคำขอได้มากขึ้นหากจำเป็น
ขีดจำกัดและโควต้า API
| หมวดหมู่ขีดจำกัด API | ขีดจำกัด |
|---|---|
| กำลังสร้างผู้ใช้ | คุณไม่สามารถสร้างผู้ใช้เกิน 10 คนต่อโดเมนต่อวินาทีโดยใช้ Directory API |
| การลบผู้ใช้ | คุณลบผู้ใช้ได้สูงสุด 5 คนต่อโดเมนต่อวินาทีโดยใช้ Directory API นี่คือขีดจำกัดบริการแบ็กเอนด์ต่อโดเมนที่ไม่สามารถปรับได้ในโควต้าโปรเจ็กต์ของคอนโซล Google Cloud เมื่อส่งคำขอแบบกลุ่ม โปรดตรวจสอบว่าการดำเนินการทั้งหมดในกลุ่มต่างๆ ยังคงต่ำกว่า 5 จำนวนคำค้นหาต่อวินาที (QPS) |
| กำลังลบสมาชิกกลุ่ม | คุณสามารถลบสมาชิกกลุ่มได้สูงสุด 30 คนต่อโดเมนต่อวินาทีโดยใช้ Directory API นี่คือขีดจำกัดบริการแบ็กเอนด์ต่อโดเมนที่ไม่สามารถปรับได้ในโควต้าโปรเจ็กต์ของคอนโซล Google Cloud เมื่อส่งคำขอแบบกลุ่ม โปรดตรวจสอบว่าการดำเนินการทั้งหมดในกลุ่มต่างๆ ยังคงต่ำกว่า 30 จำนวนคำค้นหาต่อวินาที (QPS) |
| เพิ่มกลุ่มเป็นสมาชิกในกลุ่มอื่นแล้ว | อาจมีความล่าช้าสูงสุด 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 ไปยังจดหมายขยะ |
| Groups, sending NDR messages | คุณไม่สามารถส่งหรือส่งต่อข้อความแจ้งว่าไม่ได้ส่ง (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 ไม่ได้ |