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

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

گردش کار

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

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

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

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

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

با تعیین اینکه آیا کاربر می تواند پیوست های افزودنی ایجاد کند یا خیر، شروع کنید. می توانید این کار را با ارسال یک درخواست به userProfiles.checkUserCapability با پارامتر قابلیت CREATE_ADD_ON_ATTACHMENT انجام دهید. فیلد allowed بولی در پاسخ را بررسی کنید. یک مقدار true نشان می دهد که کاربر واجد شرایط ایجاد پیوست های افزودنی است.

پایتون

eligibility_response = (
  classroom_service.userProfiles()
  .checkUserCapability(
    userId="me",
    capability="CREATE_ADD_ON_ATTACHMENT",
    # The previewVersion is necessary while the method is available in the
    # Workspace Developer Preview Program.
    previewVersion="V1_20240930_PREVIEW",
  ).execute()
)
is_create_attachment_eligible = (
  eligibility_response.get('allowed')
)
print(f'User eligibility for course {course_id}'
      f': {is_create_attachment_eligible}.')

کاربر را بر اساس واجد شرایط بودن مسیریابی کنید

واجد شرایط بودن تعیین می کند که آیا می توانید پیوست های افزودنی برای یک کاربر ایجاد کنید یا خیر.

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

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