پیوست‌هایی را خارج از Google Classroom ایجاد کنید

این راهنما به ایجاد پیوست های افزودنی در وب سایت یا برنامه شما می پردازد. تعاملات مشابه ایجاد تکالیف با استفاده از نقاط پایانی CourseWork API هستند. این سفر را اجرا کنید تا به کاربران اجازه دهید پیوست های افزودنی را از وب سایت یا برنامه شما ایجاد کنند.

جریان کار

در سطح بالایی، سفر ایجاد دلبستگی از این توالی پیروی می کند:

  1. یک کاربر معلم وب سایت یا برنامه شما را باز می کند. آنها یک قطعه از محتوا را برای اختصاص دادن به دانش آموزان خود انتخاب می کنند.
  2. بررسی کنید که کاربر می‌تواند پیوست‌های افزودنی ایجاد کند .
  3. اگر کاربر نمی تواند پیوست های افزودنی ایجاد کند، یک تکلیف CourseWork با نشانی اینترنتی محتوای انتخابی به عنوان یک ماده پیوند ایجاد کنید.
  4. اگر کاربر می تواند پیوست های افزودنی ایجاد کند، موارد زیر را انجام دهید:
    1. یک تکلیف ایجاد کنید.
    2. یک پیوست افزودنی ایجاد کنید که به محتوای انتخابی پیوند داده شود و آن را با تکلیف جدید مرتبط کنید.
  5. به معلم اطلاع دهید که تکلیف با موفقیت ایجاد شده است.

هر عمل در بخش های زیر توضیح داده شده است.

بررسی کنید که آیا کاربر می‌تواند پیوست‌های افزودنی ایجاد کند یا خیر

می‌توانید از طرف یک کاربر واجد شرایط، پیوست‌های افزودنی ایجاد کنید. کاربر واجد شرایط، کاربری است که در دوره‌ای که می‌خواهید در آن تکالیف CourseWork ایجاد کنید، معلم است و مجوز Teaching & Learning یا Education Plus Google Workspace for Education به او اختصاص داده شده است.

با تعیین اینکه آیا کاربر می تواند در یک Course معین افزونه ایجاد کند یا خیر، شروع کنید. یک درخواست به courses.checkAddOnCreationEligibility ، از جمله شناسه دوره، صادر کنید.

پایتون

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 ایجاد کنید.

پایتون

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 کلیک کنند تا محتوای سایت شما در یک تب جدید باز شود.

پیش نویس تکلیف دوره کاری با مواد پیوند

شکل 1. نمای معلم از پیش نویس تکلیف دوره کاری با مواد پیوند.

کاربر واجد شرایط

اگر کاربر می تواند پیوست های افزودنی ایجاد کند، موارد زیر را انجام دهید.

  1. یک تکلیف CourseWork جدید بدون هیچ پیوستی ایجاد کنید.
  2. یک پیوست افزودنی ایجاد کنید.

پایتون

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 مناسب برای هر View باز می شوند.