Request Errors

طلب أخطاء

يمكن أن يحتوي خطأ في واجهة برمجة تطبيقات Classroom على رمز خطأ لمساعدتك في تحديد السبب ومعالجة الخطأ بشكل صحيح. وبناءً على الرمز، يمكنك إعادة محاولة الطلب أو توجيه المستخدمين لاتخاذ إجراء معيّن.

تعرض هذه الصفحة تفاصيل رموز الخطأ المحتملة، ويتم تجميعها حسب رمز HTTP. لمعرفة المزيد من المعلومات عن بنية رسالة الخطأ، يُرجى الرجوع إلى بنية رسالة الخطأ.

تعرض هذه الصفحة تفاصيل رموز الخطأ المحتملة، ويتم تجميعها حسب رمز HTTP. اطلع على الوثائق المرجعية لتحديد الطرق التي تعرض أي رمز خطأ معين.

HTTP 400: FAILED_PRECONDITION

يتم عرض FAILED_PRECONDITION عندما يحاول المستخدم تنفيذ إجراء لا يمكن السماح به، إما لأن المستخدم وصل إلى الحد أو إلى حالة تطبيق، مثل CourseNotModifiable. لإصلاح FAILED_PRECONDITION، اطلب من المستخدم اتخاذ إجراء ثم إعادة المحاولة. أو في بعض الحالات، يمكنك استخدام نقاط نهاية بديلة لإصلاح الحالة بالنيابة عن المستخدم.

تم بلوغ الحدّ الأقصى المسموح به لعدد أعضاء الدورة التدريبية

يشير CourseMemberLimitReached إلى أن الإجراء الذي تمت محاولة إجرائه سيتجاوز الحد الأقصى المسموح به لعدد أعضاء الدورة التدريبية. يتم عرض هذا الرمز عادةً من خلال students.create() للحصول على مزيد من المعلومات، يُرجى الرجوع إلى قسم "حدود حجم الصف" في مقالة مركز المساعدة دعوة الطلاب إلى صف.

الإجراء المُحتمل: يُرجى توضيح سبب التعذُّر واقتراح أن يزيل المستخدم أعضاء الدورة التدريبية غير الضروريين.

لا يمكن تعديل الدورة التدريبية

تشير علامة CourseNotModifiable إلى أن الدورة التدريبية ذات الصلة في حالة لا تسمح بتعديل خصائصها (بخلاف حالة الدورة التدريبية نفسها).

الإجراء المحتمل: يمكنك مطالبة المستخدم بتغيير الدورة التدريبية إلى حالة دورة تدريبية قابلة للتعديل. لتغيير الولاية، استخدِم courses.patch(). يمكن تغيير حالة الدورة التدريبية في طلب يؤدي إلى تغيير الخصائص الأخرى.

تم بلوغ الحدّ الأقصى المسموح به للدورة التدريبية في الدورة التدريبية

يشير CourseTeacherLimitReached إلى أن الإجراء المطلوب سيتجاوز الحد الأقصى المسموح به لعدد معلمي الدورة التدريبية. يتم إرجاع هذا الرمز عادةً بواسطة teachers.create(). لمزيد من المعلومات، يُرجى الرجوع إلى قسم "قيود حجم الصف" في مقالة مركز المساعدة إضافة معلّم مساعد إلى صف.

الإجراء المُحتمل: يمكنك وصف سبب الإخفاق واقتراح إزالة المستخدم لمُعلِّمي الدورة التدريبية غير الضروريين. إذا كان ذلك ممكنًا في تطبيقك، يمكنك استخدام teachers.delete() لإدارة قوائم المعلمين نيابة عن المستخدم.

تم بلوغ الحد الأقصى لعدد المستخدمين في مجموعات المستخدم

يشير UserGroupsMembershipLimitReached إلى أن المستخدم عضو فعلاً في الحد الأقصى المسموح به لعدد المجموعات ولا يمكنه الانضمام إلى أي دورة تدريبية. يظهر هذا الرمز عادةً بحلول students.create() أو teachers.create(). لمزيد من المعلومات، يُرجى الرجوع إلى قسم "قيود حجم الصف" في مقالة مركز المساعدة دعوة الطلاب إلى صف.

الإجراء المُحتمل: اشرح سبب الإخفاق واقترح أن يترك المستخدم أي دورات تدريبية لا يشارك فيها. قد يفكر المستخدم في إنشاء حساب إضافي إذا احتاج إلى المشاركة في دورات تدريبية أخرى. إن أمكن، يمكنك استخدام students.create() أو teachers.delete() لإدارة قوائم الطلاب المسجّلين نيابةً عن المستخدم.

مرفق غير مرئي

يشير AttachmentNotVisible إلى أن مرفقًا واحدًا أو أكثر من المرفقات المحدّدة إما غير مرئي للمستخدم، أو ليس من النوع المطلوب، أو غير موجود. على سبيل المثال، تعرض عناصر Drive التي لم تتم مشاركتها مع المستخدم هذا الخطأ.

الإجراء المُحتمل: يمكنك وصف سبب التعذُّر واقتراح إعادة التحقُّق من المُعرِّفات، مثل أرقام تعريف ملفات Drive، المُدرَجة. تأكد أيضًا من أن المستخدم لديه الأذونات المناسبة لعرض المرفق.

لا يمكن إزالة مالك الدورة التدريبية

يشير الرمز CannotRemoveCourseFolderOwner إلى أن مالك مجلد Drive للدورة التدريبية قد لا تتم إزالته.

الإجراء المحتمل: يمكنك وصف سبب الإخفاق واقتراح نقل المستخدم لمجلد Drive للدورة التدريبية إلى مستخدم آخر وإعادة المحاولة.

لا يمكن إزالة مالك الدورة التدريبية

يشير الرمز CannotRemoveCourseOwner إلى أنّه لا يمكن إزالة مالك الدورة التدريبية.

الإجراء المحتمل: وصف سبب الإخفاق واقتراح عدم إزالة مالك الدورة التدريبية. في معظم الحالات، يحاول المستخدم إزالة نفسه، وهذا أمر غير مسموح به.

تتعذر إزالة مالك الدورة التدريبية

يشير CannotRemoveCourseOwnerTransferIncomplete إلى أن مالك الدورة التدريبية قد لا تتم إزالته نظرًا لأن نقل ملكية هذا الصف لا يزال قيد التقدم.

الإجراء المحتمل: صف سبب التعذُّر واقترح على المستخدم الانتظار بضع لحظات حتى يكتمل الإجراء غير المتزامن لنقل ملكية الصف، ثم أعِد المحاولة.

تتعذر إزالة معلّم بدون مالك دورة تدريبية

يشير الرمز CannotRemoveTeacherWithNoCourseOwner إلى أنّه لا يمكن إزالة معلّم من دورة تدريبية بدون مالك.

الإجراء المحتمل: يُرجى وصف سبب الإخفاق واقتراح عدم إزالة المعلّم. في معظم الحالات، يتم حذف حساب المستخدم التابع لمالك الدورة التدريبية، مما يتسبب في حالة غير صالحة للدورة التدريبية.

مالك الدورة التدريبية غير النشطة

يشير InactiveCourseOwner إلى أن الإجراء المطلوب غير مسموح به لأنه تم حذف حساب مالك الدورة التدريبية. يجب أن يستعيد مشرف مالك الدورة التدريبية حساب مالك الدورة التدريبية قبل اتخاذ الإجراء المطلوب.

الإجراء المُحتمل: صف سبب التعذُّر واقترح على المشرف استعادة حساب مالك الدورة التدريبية قبل إعادة محاولة العملية.

مالك غير مؤهل

تشير علامة IneligibleOwner إلى أنه لا يمكن إضافة المستخدم كمالك للدورة التدريبية لأن المستخدم ليس معلِّمًا مساعدًا.

الإجراء المحتمل: وصف سبب الإخفاق. إذا لم يكن المستخدم صاحب الطلب مشرفًا، فاقترح أن يرسل أولاً دعوة إلى المستخدم ليصبح معلمًا في الدورة التدريبية قبل تحديث المالك. إذا كان المستخدم صاحب الطلب مشرفًا، فاقترح إضافة المستخدم أولاً كمعلّم مساعد للدورة التدريبية.

لا يمكن للمستخدم الدورة التدريبية

تشير علامة UserCannotOwnCourse إلى أنه لا يمكن إضافة المستخدم كمالك للدورة التدريبية.

الإجراء المُحتمل: يُرجى وصف سبب الإخفاق واقتراح عدم إمكانية إنشاء الدورة التدريبية مع المستخدم كمالك للدورة التدريبية. قد يظهر هذا الخطأ للمستخدم الذي ليس لديه طلب إذن إذا حاول إنشاء دورة تدريبية مع مستخدم آخر غير المالك. قد يظهر هذا الخطأ للمشرف الذي طالب المستخدم إذا لم يكن حساب المستخدم المحدد كمالك غير موجود أو إذا لم يكن المستخدم في نطاقه.

HTTP 429: RESOURCE_EXHAUSTED

يتم عرض RESOURCE_EXHAUSTED عندما لا يكون الإجراء المطلوب مسموحًا به بسبب استنفاد بعض الموارد، مثل الحصة أو سعة الخادم. تحدث هذه الأنواع من أخطاء الطلبات عادةً بسبب تحميل التطبيق بشكل زائد عن الحد.

لتجنب تشغيل هذه الحدود وزيادة موثوقية تطبيقك، استخدم آليات إعادة المحاولة. تشمل آليات إعادة المحاولة الصالحة ما يلي:

  • استخدم التراجع الأسي المقتطع لإعادة محاولة الطلب وزيادة سرعة معالجة الطلبات في البيئات المتزامنة.

  • لتجنّب الاصطدام، فكِّر في التراجُع الأسي المقتطع مع عدم الاستقرار. يمكن أن يساعد تقديم عدم الاستقرار في نجاح طلباتك بشكل أسرع من خلال تقديم تأخير عشوائي يوزّع الارتفاعات في الطلبات.

إذا عرض تطبيقك RESOURCE_EXHAUSTED خطأ بسبب قيود الحصة، يُرجى إرسال زيادة في الحصة. لمزيد من المعلومات، يُرجى الرجوع إلى مقالة مراقبة حصص واجهات برمجة التطبيقات.

تم بلوغ الحد الأقصى لعدد المستخدمين

تشير القيمة UserCourseJoinRateLimitReached إلى أنّ المستخدم قد انضم إلى الحد الأقصى المسموح به للدورات التدريبية في يوم واحد. لمزيد من المعلومات، ارجع إلى قسم "دعوات المجموعة وحجمها" في مقالة مركز المساعدة فهم سياسات المجموعات وحدودها.

الإجراء المُحتمل: اشرح سبب الإخفاق واقتراح أن ينتظر المستخدم يومًا واحدًا قبل الانضمام إلى الدورة التدريبية.

HTTP 500: INTERNAL

تشير علامة INTERNAL إلى حدوث خطأ غير متوقَّع أثناء معالجة الطلب. يمكن أيضًا حلّ أخطاء الطلب INTERNAL باستخدام التراجع الأسي لإعادة محاولة الطلب. في حال استمرار ظهور خطأ INTERNAL، يمكنك الإبلاغ عنه من خلال الإبلاغ عن خطأ في أداة تتبُّع المشاكل العامة في Classroom API.