تحمي الحدود والحصص بنية Google الأساسية من العمليات التلقائية التي تستخدم Directory API بطريقة غير ملائمة. قد تنتج الطلبات الزائدة من واجهة برمجة التطبيقات عن خطأ مطبعي غير ضار، أو قد تنتج عن نظام مصمّم بشكل غير فعّال يُجري طلبات بيانات غير ضرورية من واجهة برمجة التطبيقات. بغض النظر عن السبب، من الضروري حظر الزيارات الواردة من مصدر معيّن بعد وصولها إلى مستوى معيّن، وذلك للحفاظ على سلامة نظام Google Workspace بشكل عام. ويضمن ذلك عدم تأثير إجراءات مطوّر واحد سلبًا على المنتدى الأكبر.
في حال تعذّر طلب البيانات من واجهة برمجة التطبيقات، وهو أمر غير محتمل، تعرض واجهة برمجة التطبيقات رمز حالة HTTP وسبب الخطأ. بالإضافة إلى ذلك، يتضمّن نص الاستجابة وصفًا تفصيليًا لسبب الخطأ.
تعرض القائمة التالية رموز الأخطاء المحتملة وأسبابها وأوصافها المقابلة والإجراءات المقترَحة للأخطاء الناتجة عن بلوغ حدود الحصة.
| الرمز | السبب | الوصف | الإجراء المقترَح |
|---|---|---|---|
| 403 | userRateLimitExceeded | يشير إلى أنّه تم تجاوز الحدّ الأقصى لمعدّل المستخدمين. القيمة التلقائية المحدّدة في وحدة تحكّم Google Cloud هي 2,400 طلب بحث في الدقيقة لكل مستخدم لكل مشروع على Google Cloud. | يمكنك زيادة الحدود لكل مستخدم من صفحة حصص واجهة برمجة تطبيقات مدير SDK في مشروعك على السحابة الإلكترونية على Google Cloud، أو خفض معدّل إرسال الطلبات باستخدام الانتظار الأسي. |
| 403 | quotaExceeded | يشير هذا الخطأ إلى أنّه تم بلوغ الحدّ الأقصى لعدد الطلبات المتزامنة لعملية معيّنة. | أعِد المحاولة باستخدام خوارزمية الرقود الأسي الثنائي، وعليك إبطاء معدّل إرسال الطلبات. |
| 429 | rateLimitExceeded | يشير هذا الخطأ إلى أنّه تم بلوغ الحدّ الأقصى لعدد الطلبات المتزامنة لعملية معيّنة. | أعِد المحاولة باستخدام خوارزمية الرقود الأسي الثنائي. عليك إبطاء معدّل إرسال الطلبات. ينطبق هذا الحدّ على كل حساب Google Workspace، وليس على كل عميل واجهة برمجة تطبيقات أو كل مستخدم. ولا يمكن زيادة هذا الحد. |
تنفيذ خوارزمية الرقود الأسي الثنائي
الرقود الأسي الثنائي هو عملية إعادة محاولة إرسال الطلبات التي تعذّر تنفيذها بشكل دوري على مدار فترة زمنية متزايدة. وهي استراتيجية معيارية لمعالجة الأخطاء في تطبيقات الشبكة. يؤدي استخدام خوارزمية الرقود الأسي الثنائي إلى زيادة كفاءة استخدام معدل نقل البيانات، وتقليل عدد الطلبات المطلوبة للحصول على استجابة ناجحة، وزيادة معدل نقل الطلبات في البيئات المتزامنة.
في ما يلي خطوات تنفيذ خوارزمية الرقود الأسي الثنائي البسيطة.
- إرسال طلب إلى واجهة برمجة التطبيقات
- تلقّي ردّ يفيد بحدوث خطأ يتضمّن رمز خطأ يمكن إعادة المحاولة فيه
- الانتظار لمدة ثانية واحدة +
random_number_millisecondsثانية - إعادة محاولة إرسال الطلب
- تلقّي ردّ يفيد بحدوث خطأ يتضمّن رمز خطأ يمكن إعادة المحاولة فيه
- الانتظار لمدة ثانيتين +
random_number_millisecondsثانية - إعادة محاولة إرسال الطلب
- تلقّي ردّ يفيد بحدوث خطأ يتضمّن رمز خطأ يمكن إعادة المحاولة فيه
- الانتظار لمدة 4 ثوانٍ +
random_number_millisecondsثانية - إعادة محاولة إرسال الطلب
- تلقّي ردّ يفيد بحدوث خطأ يتضمّن رمز خطأ يمكن إعادة المحاولة فيه
- الانتظار لمدة 8 ثوانٍ +
random_number_millisecondsثانية - إعادة محاولة إرسال الطلب
- تلقّي ردّ يفيد بحدوث خطأ يتضمّن رمز خطأ يمكن إعادة المحاولة فيه
- الانتظار لمدة 16 ثانية +
random_number_millisecondsثانية - إعادة محاولة إرسال الطلب
- إذا استمر ظهور الخطأ، توقَّف وسجِّل الخطأ.
في العملية أعلاه، يمثّل random_number_milliseconds عددًا عشوائيًا
من الملّي ثانية أقل من أو يساوي 1000. وهذا أمر ضروري لتجنُّب بعض أخطاء القفل في بعض عمليات التنفيذ المتزامنة.
يجب إعادة تحديد random_number_milliseconds بعد كل انتظار.
ملاحظة: تكون مدة الانتظار دائمًا
(2 ^ n) + random_number_milliseconds، حيث
n هو عدد صحيح يتزايد بشكل منتظم ويتم تحديده في البداية
على أنّه 0. تتم زيادة n بمقدار 1 لكل تكرار (لكل طلب).
تم ضبط الخوارزمية على الإنهاء عندما تكون n تساوي 5. يتم وضع هذا الحدّ الأقصى فقط لمنع العملاء من إعادة المحاولة بشكل لا نهائي، ويؤدي إلى تأخير إجمالي يبلغ حوالي 32 ثانية قبل أن يتم اعتبار الطلب "خطأ غير قابل للإصلاح". ويمكن لعميل واجهة برمجة التطبيقات تنفيذ عدد أكبر من المحاولات إذا لزم الأمر.
حدود واجهة برمجة التطبيقات وحصصها
| فئات حدود واجهة برمجة التطبيقات | الحدود |
|---|---|
| إنشاء حسابات المستخدمين | لا يمكنك إنشاء أكثر من 10 مستخدمين لكل نطاق في الثانية باستخدام واجهة برمجة التطبيقات Directory API. |
| حذف حسابات المستخدمين | يمكنك حذف ما يصل إلى 5 مستخدمين لكل نطاق في الثانية باستخدام واجهة برمجة تطبيقات الدليل. هذا الحدّ الأقصى لخدمة الخلفية لكل نطاق ولا يمكن تعديله في حصص مشاريع Google Cloud Console. عند إرسال طلبات مجمّعة، تأكَّد من أنّ إجمالي العمليات في جميع المجموعات يبقى أقل من 5 طلبات في الثانية. |
| حذف أعضاء المجموعة | يمكنك حذف ما يصل إلى 30 عضوًا في المجموعة لكل نطاق في الثانية باستخدام واجهة برمجة التطبيقات Directory API. هذا الحدّ الأقصى لخدمة الخلفية لكل نطاق ولا يمكن تعديله في حصص مشاريع Google Cloud Console. عند إرسال طلبات مجمّعة، تأكَّد من أنّ إجمالي العمليات في جميع الدفعات يظل أقل من 30 طلب بحث في الثانية. |
| تمت إضافة المجموعة كعضو إلى مجموعة أخرى | قد يحدث تأخير لمدة تصل إلى 10 دقائق قبل ظهور أعضاء المجموعة الفرعية كأعضاء في المجموعة الرئيسية. قد يتغيّر هذا الحدّ استنادًا إلى سعة النظام. |
| الأجهزة الجوّالة |
باستخدام واجهة برمجة التطبيقات Directory API، يمكنك إجراء ما يصل إلى:
|
| إعادة تسمية المستخدمين | قد يستغرق نشر التغييرات في جميع الخدمات مدة تصل إلى 10 دقائق. قبل إعادة تسمية مستخدم، يُنصح بتسجيل خروج المستخدم من جميع جلسات المتصفّح والخدمات. لمزيد من التفاصيل، يُرجى الاطّلاع على تعديل بيانات المستخدمين. |
| إنشاء الوحدات التنظيمية أو تعديلها |
|
| فئات حصص واجهة برمجة التطبيقات | الحِصص |
أجهزة Chrome annotatedLocation، الحد الأقصى لعدد الأحرف
|
الحد الأقصى لعدد الأحرف لمعلومات الموقع الجغرافي للجهاز هو 200 حرف. |
أجهزة Chrome notes، الحد الأقصى لعدد الأحرف
|
الحد الأقصى لعدد الأحرف في معلومات ملاحظات الجهاز هو 500 حرف. |
أجهزة Chrome، user حرف كحد أقصى
|
الحد الأقصى لعدد الأحرف في اسم مستخدم الجهاز هو 100 حرف. |
| الحد الأقصى لأسماء النطاقات المستعارة | الحدّ الأقصى لعدد أسماء النطاقات المستعارة هو 20. |
| "مجموعات Google"، الوصف | الحد الأقصى لعدد الأحرف في الوصف هو 4,096 حرفًا. |
| المجموعات لكل حساب | باستخدام حساب الإصدار المجاني القديم من G Suite، يقتصر عدد المجموعات على 10 مجموعات. أما الإصدارات الأخرى، فليس لها حد أقصى لعدد المجموعات. |
| المجموعات، عدد الأعضاء في كل مجموعة | باستخدام حساب الإصدار المجاني القديم من G Suite، يمكن أن تحتوي المجموعة على ما يصل إلى 100 عضو. لا تفرض الإصدارات الأخرى حدًا أقصى لعدد الأعضاء الذين يمكن أن تضمهم المجموعة. لمعرفة حدود عضوية المجموعة لكل مستخدم، يُرجى الاطّلاع على فهم سياسات "مجموعات Google" وحدودها |
| سلسلة طلب البحث maxResults | تعرض واجهة برمجة التطبيقات ما يلي:
|
| نطاقات متعددة، الحد الأقصى لعدد النطاقات المسموح بها في الحساب | 600 (نطاق أساسي واحد + 599 نطاقًا إضافيًا) |
| الوحدة التنظيمية، الحد الأقصى لعدد المستخدمين الذين تم نقلهم في وقت واحد | يمكن نقل 20 مستخدمًا في المرة الواحدة. ويجب أن تكون عناوين البريد الإلكتروني الرئيسية للمستخدمين متوفّرة في الحساب. |
| الأسماء البديلة للمستخدمين | الحد الأقصى لعدد العناوين البديلة المسموح بها لكل حساب مستخدم هو 30 عنوانًا. |
| العناوين البديلة للمستخدمين، باستخدام عنوان بديل محذوف | يمكن استخدام عنوان بديل للبريد الإلكتروني لمستخدم محذوف مرة أخرى على الفور. |
| أنواع أخرى من الحدود | القيود والإرشادات |
|---|---|
| الفوترة وإنشاء المستخدمين | بالنسبة إلى المستخدمين المشتركين في خطة مرنة في Google Workspace، سيؤدي إنشاء مستخدمين باستخدام واجهة برمجة التطبيقات هذه إلى تأثير مالي، وسيؤدي إلى فرض رسوم على حساب فوترة العميل. على سبيل المثال، إذا كنت مشتركًا في خطة مرنة في Google Workspace، سيؤدي إنشاء 10 مستخدمين إلى فرض رسوم مقابل 10 تراخيص في Google Workspace على حسابك، ويتم احتسابها بشكل نسبي من وقت إنشاء الحسابات. إذا كنت مشتركًا في خطة سنوية، تكون قد التزمت مسبقًا بالدفع مقابل عدد معيّن من التراخيص، ولا يمكنك إنشاء عدد من المستخدمين يتجاوز التزامك. لمزيد من المعلومات عن خطط الفوترة وحساب الفوترة، يُرجى الاطّلاع على مركز مساعدة الإدارة. |
| الاسم الأول واسم العائلة | يجب ألا يتجاوز الاسم الأول واسم العائلة 40 حرفًا. وهي تتيح استخدام أحرف Unicode/UTF-8، ويمكن أن تحتوي على مسافات وأحرف (a-z) وأرقام (0-9) وشرطات (-) وشرطات مائلة للأمام (/) ونقاط (.). لمزيد من المعلومات حول قواعد استخدام الأحرف، يُرجى الاطّلاع على مركز مساعدة المشرفين. |
| المجموعات، حذف | لا يؤدي حذف مجموعة إلى حذف حسابات مستخدمي أعضاء المجموعة. |
| المجموعات وأعضاء المجموعات، تغيير عنوان البريد الإلكتروني | في هذا الإصدار من واجهة برمجة التطبيقات، يمكن تغيير عنوان البريد الإلكتروني للمجموعة قبل تفعيل خدمة Google Workspace. استخدِم وحدة تحكّم المشرف في Google لتغيير عنوان البريد الإلكتروني لعضو في المجموعة. بعد التغيير، تعكس واجهة برمجة التطبيقات تلقائيًا التغييرات في عنوان البريد الإلكتروني. |
| المجموعات، الإعدادات | تتم إدارة إعدادات الوصول إلى المجموعات وخيارات المشاركة والمراقبة وأرشيف المناقشات باستخدام "وحدة تحكّم المشرف في Google". لمزيد من المعلومات حول إعدادات المجموعات، يُرجى الاطّلاع على مركز مساعدة الإدارة. |
| المجموعات، إرسال الرسائل | لمنع الرسائل غير المرغوب فيها وإساءة استخدام البريد الإلكتروني، تضع Google حدًا أقصى لعدد الرسائل التي يمكنك إرسالها في آنٍ واحد إلى مستلِمين خارجيين. إذا أرسلت رسالة إلى مجموعة، يتم احتساب كل عضو خارجي كمستلم واحد. لمزيد من المعلومات، يُرجى الاطّلاع على عدد الرسائل الإلكترونية المسموح بإرسالها ومنع حظر الرسائل الإلكترونية المُرسَلة إلى مستخدمي Gmail أو إرسالها إلى مجلد الرسائل غير المرغوب فيها. |
| "مجموعات Google"، إرسال رسائل تقرير عدم التسليم | لا يمكنك إرسال إشعارات بعدم التسليم (NDR)، والتي تُعرف أيضًا باسم "رسائل مرتدة"، أو إعادة توجيهها إلى مجموعة. |
| المجموعات التي ينشئها المستخدمون والقيود | لمعرفة الحدود القصوى للمجموعات التي ينشئها المستخدمون، يُرجى الاطّلاع على مركز مساعدة الإدارة |
| الوحدة التنظيمية، تفعيل الخدمات أو إيقافها | يمكنك استخدام "وحدة تحكّم المشرف في Google" لإدارة تفعيل الخدمات وإيقافها لوحدة تنظيمية. |
| كلمات المرور | يمكن أن يحتوي على أي مجموعة من الأحرف. يجب إدخال 8 أحرف على الأقل. الحد الأقصى للطول هو 100 حرف. |
| الصور | في هذا الإصدار من واجهة برمجة التطبيقات، تكون الصورة هي أحدث صورة للملف الشخصي للمستخدم في حساب Google. |
| أسماء المستخدمين | يمكن أن تحتوي أسماء المستخدمين على أحرف (a-z) وأرقام (0-9) وشرطات (-) وشرطات سفلية (_)، ويتعرّف Google Workspace على النقاط (.)، وهذا ليس هو الحال في Gmail. لا يجوز أن يحتوي اسم المستخدم على علامة يساوي (=) أو قوسين (<،>) أو أكثر من نقطة واحدة (.) في صف واحد. لمزيد من المعلومات، يُرجى الاطّلاع على مركز مساعدة الإدارة. |
| أسماء المستخدمين، إعادة التسمية | يتجاهل Google Hangouts جميع دعوات المحادثة المحفوظة بعد إعادة التسمية. على المستخدم طلب الإذن للدردشة مع الأصدقاء مرة أخرى. يتم الاحتفاظ باسم المستخدم القديم كعنوان بديل للبريد الإلكتروني لضمان استمرار تسليم الرسائل في حال ضبط إعدادات إعادة توجيه الرسائل الإلكترونية، ولن يكون متاحًا كاسم مستخدم جديد. للحصول على تفاصيل مهمة حول تأثير إعادة تسمية المستخدمين، يُرجى الانتقال إلى مركز مساعدة المشرفين. استخدِم عملية حذف عنوان بديل لمستخدم لإزالة العنوان البديل للبريد الإلكتروني بعد إعادة التسمية. |
| المستخدمون في نطاقات متعدّدة | يمكن أن يتضمّن حساب Google Workspace أيًا من نطاقاتك. في حساب النطاقات المتعددة، يمكن للمستخدمين في نطاق واحد مشاركة الخدمات مع المستخدمين في نطاقات الحساب الأخرى. مكوّنات النطاقات المتعددة هي:
|
| التحذيرات، أعضاء المجموعة | GROUP_CANNOT_CONTAIN_CYCLE: لا تسمح واجهة برمجة التطبيقات بدورة في عضويات المجموعة. على سبيل المثال، إذا كانت المجموعة 1 عضوًا في المجموعة 2، لا يمكن أن تكون المجموعة 2 عضوًا في المجموعة 1. |