إنشاء مرفقات خارج Google Classroom

يتناول هذا الدليل كيفية إنشاء مرفقات الإضافات في موقعك الإلكتروني أو تطبيقك. تشبه التفاعلات عملية إنشاء المهام الدراسية باستخدام واجهة برمجة تطبيقات CourseWork API. والنقاط النهائية. تنفيذ هذه الرحلة للسماح للمستخدمين بإنشاء مرفقات الإضافات من موقعك الإلكتروني أو تطبيقك

سير العمل

على مستوى عالٍ، تتبع رحلة إنشاء المرفقات التسلسل التالي:

  1. يفتح مستخدِم معلّم موقعك الإلكتروني أو تطبيقك. ويحدد جزءًا من المحتوى تعيينه لطلابهم.
  2. تحقَّق من أنه يمكن للمستخدم إنشاء مرفقات الإضافات.
  3. إذا لم يتمكن المستخدم من إنشاء مرفقات الإضافات، يمكنك إنشاء CourseWork مع عنوان URL للمحتوى المحدد كمادة رابط.
  4. إذا كان المستخدم يستطيع إنشاء مرفقات الإضافات، عليك إجراء ما يلي:
    1. أنشئ مهمة دراسية.
    2. أنشئ مرفق إضافة يرتبط بالمحتوى المحدد وربطه بالمهمة الجديدة.
  5. أخبِر المعلّم بأنّ المهمة قد تم إنشاؤها بنجاح.

يتم وصف كل إجراء في الأقسام التالية.

التحقُّق مما إذا كان يمكن للمستخدم إنشاء مرفقات الإضافات

يمكنك إنشاء مرفقات الإضافات نيابةً عن مستخدم مؤهَّل. يجب أن يكون المستخدم هو مستخدم يعمل مدرسًا في الدورة التدريبية التي تحاول إنشاءها مهام CourseWork في و تضم Teaching & Learning أو Education Plus وتم منحه ترخيص إصدار Google Workspace for Education.

ابدأ بتحديد ما إذا كان يمكن للمستخدم إنشاء إضافات في Course معيّن. إرسال طلب إلى نقطة نهاية courses.checkAddOnCreationEligibility، بما في ذلك رقم تعريف الدورة التدريبية.

Python

eligibility_response = (
  classroom_service.courses()
  .checkAddOnCreationEligibility(courseId=course_id)
  .execute()
)
is_create_attachment_eligible = (
  eligibility_response.get('isCreateAttachmentEligible')
)
print(f'User eligibility for course {eligibility_response.get("courseId")}'
      f': {is_create_attachment_eligible}.')

إذا كان المستخدم مؤهَّلاً، سيحتوي الرد على القيمة المنطقية. تم ضبط قيمة isCreateAttachmentEligible على true. إذا لم يكن المستخدم مؤهَّلاً لن تعرض الإجابة القيمة المنطقية isCreateAttachmentEligible.

توجيه المستخدم وفقًا لأهليته

تحدِّد الأهلية ما إذا كان بإمكانك إنشاء مرفقات الإضافات لمستخدم.

مستخدم غير مؤهَّل

إذا لم يتمكّن المستخدم من إنشاء مرفقات الإضافات، يجب إنشاء CourseWork جديد. مع عنوان URL للمحتوى الذي اختاره المستخدم باعتباره Link.

Python

if not is_create_attachment_eligible:
  coursework = {
    'title': 'My CourseWork Assignment with Link Material',
    'description': 'Created using the Classroom CourseWork API.',
    'workType': 'ASSIGNMENT',
    'state': 'DRAFT',  # Set to 'PUBLISHED' to assign to students.
    'maxPoints': 100,
    'materials': [
      {'link': {'url': my_content_url}}
    ]
  }

  assignment = (
    service.courses()
    .courseWork()
    .create(courseId=course_id, body=coursework)
    .execute()
  )

  print(
    f'Link Material assignment created with ID: {assignment.get("id")}'
  )

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

صياغة مهمة CourseWork باستخدام مادة الرابط

الشكل 1. عرض لمعلّم لمسودة مهمة في CourseWork باستخدام "مواد الروابط"

مستخدم مؤهَّل

نفِّذ ما يلي إذا كان المستخدم يستطيع إنشاء مرفقات الإضافات.

  1. يمكنك إنشاء مهمة CourseWork جديدة بدون أي مرفقات.
  2. إنشاء مرفق إضافة

Python

if is_create_attachment_eligible:
  coursework = {
    'title': 'My CourseWork Assignment with Add-on Attachment',
    'description': 'Created using the Classroom CourseWork API.',
    'workType': 'ASSIGNMENT',
    'state': 'DRAFT',  # Set to 'PUBLISHED' to assign to students.
    'maxPoints': 100,
  }

  assignment = (
    classroom_service.courses()
    .courseWork()
    .create(courseId=course_id, body=coursework)
    .execute()
  )

  print(
    f'Empty assignment created with ID: {assignment.get("id")}'
  )

  attachment = {
    'teacherViewUri': {'uri': teacher_view_url},
    'studentViewUri': {'uri': student_view_url},
    'studentWorkReviewUri': {'uri': grade_student_work_url},
    'title': f'Test Attachment {test_label}',
  }

  add_on_attachment = (
    service.courses()
    .courseWork()
    .addOnAttachments()
    .create(
      courseId=course_id,
      itemId=assignment.get("id"),  # ID of the new assignment.
      body=attachment,
    )
    .execute()
  )

  print(
    f'Add-on attachment created with ID: {add_on_attachment.get("id")}'
  )

تظهر الإضافة على شكل بطاقة مرفقات في Classroom. عناوين URL والمحددة في الطلب المفتوح iframe لكل ملف شخصي.