التفاعل مع المرفقات

تناقش هذه الصفحة تفاصيل التنفيذ لإنشاء مرفق والتعامل مع مهام الطلاب. يُرجى العِلم أنّك قد تحتاج إلى تقديم معلَمات متعلّقة بالمرفقات عند إجراء هذه الطلبات.

إنشاء مرفق

يمكنك إنشاء مرفق من خلال إرسال طلب CREATE إلى نقطة النهاية courses.*.addOnAttachments.create المناسبة. يجب أن يشتمل طلبك على نسخة افتراضية من AddOnAttachment في نص الطلب.

يجب إدراج الحقول التالية عند إنشاء مرفق:

  • title: اسم السلسلة للمرفق.
  • teacherViewUri: معرّف الموارد المنتظم (URI) الخاص بـ "عرض المعلّمين" الخاص بالمرفق.
  • studentViewUri: معرّف الموارد المنتظم (URI) الخاص بطريقة عرض الطالب للمرفق.
  • studentWorkReviewUri: معرّف الموارد المنتظم (URI) الخاص بالمعلّم للاطّلاع على عمل الطالب على المرفق. هذا الحقل مطلوب فقط للمرفقات من نوع النشاط.

يمكنك تضمين بعض الحقول الاختيارية التالية:

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

اطّلِع على مرجع موارد "AddOnAttachment" للحصول على مزيد من التفاصيل حول هذه الحقول.

تفاصيل عمليات الإرسال التي أجراها الطالب

يتّبع سير عمل الإرسال النموذجي الخطوات التالية:

  1. يشغِّل الطالب studentViewUri لإكمال نشاط.
  2. تسترد الإضافة submissionId من الطريقة getAddOnContext باستخدام بيانات اعتماد الطالب.
  3. يخزِّن مطوِّر الإضافة submissionId وattachmentId كمعرّف فريد لعمل الطالب. في حال نسخ أحد المعلّمين مهمة دراسية في Classroom، يمكنك استخدام المفتاح المركّب لهاتين المعلمتَين لعرض مرفق جديد في المهمة التي تم نسخها. لمزيد من التفاصيل، يمكنك الاطّلاع على صفحة المحتوى المنسوخ.
  4. يُطلق أحد المعلّمين المهتمين بمراجعة عمل الطالب studentWorkReviewUri. ويتضمّن الطلب معلَمات طلب البحث التالية: courseId وitemId وitemType وattachmentId وsubmissionId.
  5. يستخدم مطوّر الإضافة هذه المعرّفات الأربعة لاسترداد عمل الطالب. يمكنك استخدام نقطة النهاية courses.courseWork.addOnAttachments.studentSubmissions لاسترجاع أو تعديل المعلومات المتعلقة بتقديم الطالب.

اكتشاف حالة الإرسال

يمكنك إصدار طلب GET إلى نقطة نهاية courses.courseWork.addOnAttachments.studentSubmissions للحصول على تفاصيل عن submissionId محدّد. سيصلك عنصر AddOnAttachmentStudentSubmission يحتوي على درجة الإرسال (pointsEarned) والحالة الحالية (postSubmissionState). يمكن أن تكون حالة الإرسال إحدى القيم التالية:

  • NEW، إذا لم يسبق للطالب الوصول إلى المهمة الدراسية
  • CREATED، إذا أنشأ الطالب مهمة ولكن لم يرسلها بعد.
  • TURNED_IN، إذا كان الطالب قد أرسل عمله إلى المعلّم
  • RETURNED، إذا أرجع المعلّم المهمة إلى الطالب.
  • RECLAIMED_BY_STUDENT، إذا تم "إلغاء تسليم" عمل الطالب

استخدِم نقطة النهاية هذه لرصد حالة عمل الطالب في الإضافة. يمكنك بعد ذلك ضبط طرق العرض أو الخيارات المقدمة للطالب اعتمادًا على الحالة المعروضة. وقد يشمل ذلك الميزات التالية:

  • عرض حالة تسليم المهام ضمن الإضافة وقد يساعد ذلك الطلاب في تجنب الالتباس المحتمل وضمان عدم تسليم الواجب عن طريق الخطأ.
  • فرض قيود على امتيازات تعديل عمليات الإرسال إذا كانت حالة المهمة هي CREATED أو RECLAIMED_BY_STUDENT، قد يُسمَح للطالب بتعديل المهمة التي أرسلها. إذا كانت حالة المهمة هي TURNED_IN أو RETURNED، قد لا يُسمح للطالب بتعديل المهمة التي أرسلها.

الدرجات والمرفقات المتعددة

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

تحديد درجة المحتوى الذي أرسلته

يمكنك تعديل الطلب الذي أرسله الطالب من خلال إرسال طلب PATCH إلى نقطة نهاية courses.courseWork.addOnAttachments.studentSubmissions. يجب أن يشتمل نص الطلب على مثيل AddOnAttachmentStudentSubmission بالقيم المعدّلة. يمكنك ضبط الحقل pointsEarned لتعديل درجة الإرسال. تصبح القيمة التي تم تمريرها في pointsEarned درجة مسودة مرئية للمُعلّم في واجهة مستخدم Classroom. يمكن للمعلمين تعديل الدرجة الأولية قبل إرجاع المهمة إلى الطلاب. اطّلع على نظرة عامة على وضع الدرجات في واجهة مستخدم Classroom للحصول على تفاصيل حول كيفية تقديم الدرجات للمعلّمين.

تجدر الإشارة إلى أنّه لا يمكنك ضبط الدرجة باستخدام pointsEarned إلا إذا كان ما يلي صحيحًا:

  • يجب أن يحتوي المرفق على قيمة maxPoints موجبة.
  • يجب أن تكون الإضافة هي المنشئ الأصلي للمرفق.

تجدُر الإشارة أيضًا إلى أنّه يمكنك تعديل قيمة maxPoints في AddOnAttachment تم إنشاؤها مسبقًا من خلال إصدار طلب PATCH إلى نقطة النهاية addOnAttachments.

متى يجب وضع درجة

سيكون لديك بعض الخيارات عند إعادة الدرجة إلى Google Classroom. ويتمثل التمييز المهم في ما إذا كنت تريد تخزين بيانات اعتماد المعلم، حيث يمكن للمعلّم فقط تعديل الدرجة.

هناك لحظتان إضافيتان يمكنك فيهما اجتياز إحدى الدرجات إلى Google Classroom: عندما يُكمل الطالب عمله أو عندما يفتح المعلّم عمل الطالب في إطار iframe لمراجعة عمل الطلاب.

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

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

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

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

رصد التغييرات في درجات المهام الدراسية

يمكن للمعلمين تعديل إعدادات الدرجات في Classroom بعد إنشاء المهمة. قد تتضمن هذه التعديلات ما يلي:

  • تغيير قيمة النقاط المعينة.
  • تغيير قيمة maxPoints للمهمة
  • تغيير ما إذا كان يجب وضع درجات للمهمة أم لا.

للاطّلاع على الإعدادات الحالية لوضع الدرجات لإحدى المهام، ننصحك بإرسال طلب GET إلى نقطة نهاية courses.courseWork. ويتضمّن الردّ قيمة maxPoints الحالية. تحتوي المهمة التي لا تتضمن درجات على قيمة maxPoints فارغة أو صفر.

إذا كنت قد نجحت في اجتياز الدرجة مرة أخرى إلى Classroom، يمكنك استخدام نقطة النهاية courses.courseWork.addOnAttachments.studentSubmissions لاسترجاع الدرجة الخاصة بمرفق إضافة أو تغييرها. يتم تحديد قيمة الدرجة باستخدام الحقل pointsEarned. ننصحك بالتحقق من هذه القيمة وتعديلها إذا لزم الأمر إذا كان منتجك يسمح للمعلّمين بتعديل درجة الطالب لنشاط معيّن.