Google Classroom dışında ek oluşturma

Bu kılavuzda, web sitenizde veya uygulamanızda eklenti ekleri oluşturma ele alınmaktadır. Etkileşimler, CourseWork API kullanarak ödev oluşturmaya benzer uç noktaları. Kullanıcıların eklenti ekleri oluşturmasına izin vermek için bu yolculuğu uygulayın. web sitenizden veya uygulamanızdan

İş akışı

Özet olarak ek oluşturma yolculuğu şu sırayı izler:

  1. Bir öğretmen kullanıcı web sitenizi veya uygulamanızı açar. İçerikleri belirli aralıklarla ödev verebilir.
  2. Kullanıcının eklenti ekleri oluşturabildiğinden emin olun.
  3. Kullanıcı eklenti eki oluşturamıyorsa bir CourseWork oluşturun atamayı seçilen içeriğe Bağlantı Malzemesi olarak ekler.
  4. Kullanıcı eklenti eki oluşturabiliyorsa aşağıdakileri yapın:
    1. Ödev oluşturun.
    2. Seçili içeriğe bağlanan bir eklenti eki oluşturun ve yeni ödevle ilişkilendirmesini isteyin.
  5. Öğretmene ödevin başarıyla oluşturulduğunu bildirin.

Her işlem aşağıdaki bölümlerde açıklanmaktadır.

Kullanıcıların eklenti ekleri oluşturup oluşturamayacağını kontrol etme

Uygun kullanıcılar adına eklenti ekleri oluşturabilirsiniz. Uygun bir kullanıcı, oluşturmaya çalıştığınız derste öğretmen olan bir kullanıcı Ders Çalışması ödevleri ve Learning veya Education Plus Kendilerine Google Workspace for Education sürümü lisansı atanmış olmalıdır.

Kullanıcının belirli bir Course'da eklenti oluşturup oluşturamayacağını belirleyerek başlayın. courses.checkAddOnCreationEligibility uç noktasına bir istek gönderin, Kurs Kimliği'ni de içerir.

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

Kullanıcı uygunsa yanıt boole değerini içerir isCreateAttachmentEligible değeri true olarak ayarlandı. Kullanıcı uygun değilse yanıt, isCreateAttachmentEligible boole değerini döndürmez.

Kullanıcıyı uygunluk durumuna göre yönlendirin

Uygunluk, bir kullanıcı için eklenti ekleri oluşturup oluşturamayacağınızı belirler.

Uygun olmayan kullanıcı

Kullanıcı eklenti eki oluşturamıyorsa yeni bir CourseWork oluşturun. atamayı kullanıcı tarafından seçilen içerik URL'siyle Link olarak yapabilirsiniz.

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

Yanıt, istenen dersteki ve içeriği barındıran bir ödev içeriyor ekli. Kullanıcılar Link simgesini tıklayarak sitenizdeki içeriği yeni bir pencerede açabilir sekmesinden yararlanın.

Bağlantı Materyali ile sınıf çalışması ödevi taslağı oluşturun

Şekil 1. Bağlantı Materyali içeren bir taslak CourseWork ödevinin öğretmen görünümü.

Uygun kullanıcı

Kullanıcı eklenti ekleri oluşturabiliyorsa aşağıdakileri yapın.

  1. Ek içermeyen yeni bir CourseWork ödevi oluşturun.
  2. Eklenti eki oluşturun.

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

Eklenti, Classroom'da ek kartı olarak görünür. URL'ler istekte belirtilen her zaman Her Görünüm için iframe.