Membuat lampiran di luar Google Classroom

Panduan ini membahas cara membuat lampiran add-on di situs atau aplikasi Anda. Interaksinya mirip dengan membuat tugas menggunakan CourseWork API endpoint. Terapkan proses ini untuk memungkinkan pengguna membuat lampiran add-on dari situs atau aplikasi Anda.

Alur kerja

Pada level tinggi, proses pembuatan lampiran mengikuti urutan berikut:

  1. Pengguna pengajar membuka situs atau aplikasi Anda. Dia memilih konten untuk kepada siswa mereka.
  2. Pastikan pengguna dapat membuat lampiran add-on.
  3. Jika pengguna tidak dapat membuat lampiran add-on, buat CourseWork dengan URL ke konten yang dipilih sebagai Materi Link.
  4. Jika pengguna dapat membuat lampiran add-on, lakukan tindakan berikut:
    1. Buat tugas.
    2. Buat lampiran add-on yang menautkan ke konten yang dipilih dan mengaitkannya dengan tugas baru.
  5. Beri tahu pengajar bahwa tugas telah berhasil dibuat.

Setiap tindakan dijelaskan di bagian berikut.

Memeriksa apakah pengguna dapat membuat lampiran add-on

Anda dapat membuat lampiran add-on atas nama pengguna yang memenuhi syarat. Iklan yang memenuhi syarat pengguna adalah pengguna yang merupakan pengajar dalam kursus yang Anda coba buat Tugas CourseWork di dan memiliki edisi Pengajaran & Learning atau Education Plus Lisensi edisi Google Workspace for Education yang ditetapkan untuk mereka.

Mulai dengan menentukan apakah pengguna dapat membuat add-on di Course tertentu. Kirim permintaan ke endpoint courses.checkAddOnCreationEligibility, termasuk ID Kursus.

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}.')

Jika pengguna memenuhi syarat, respons akan berisi boolean Nilai isCreateAttachmentEligible ditetapkan ke true. Jika pengguna tidak memenuhi syarat, respons tidak akan menampilkan boolean isCreateAttachmentEligible.

Merutekan pengguna berdasarkan kelayakannya

Kelayakan menentukan apakah Anda dapat membuat lampiran add-on untuk pengguna.

Pengguna yang tidak memenuhi syarat

Jika pengguna tidak dapat membuat lampiran add-on, buat CourseWork baru. dengan URL konten pilihan pengguna sebagai 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")}'
  )

Respons berisi tugas dalam kursus yang diminta dengan konten terlampir. Pengguna dapat mengklik Link untuk membuka konten di situs Anda di .

Draf tugas CourseWork dengan Link Materi

Gambar 1. Tampilan pengajar dari draf tugas CourseWork dengan Link Materi.

Pengguna yang memenuhi syarat

Lakukan tindakan berikut jika pengguna dapat membuat lampiran add-on.

  1. Buat tugas CourseWork baru tanpa lampiran apa pun.
  2. Membuat lampiran add-on.

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")}'
  )

Add-on akan muncul sebagai kartu lampiran di Classroom. URL yang ditentukan dalam permintaan. iframe untuk setiap View.