Bu kılavuzda, web sitenizde veya uygulamanızda eklenti ekleri oluşturma ele alınmaktadır. Etkileşimler, CourseWork API uç noktalarını kullanarak ödev oluşturmaya benzer. Kullanıcıların web sitenizden veya uygulamanızdan eklenti ekleri oluşturmalarına izin vermek için bu yolculuğu uygulayın.
İş akışı
Özet olarak ek oluşturma yolculuğu şu sırayı izler:
- Bir öğretmen kullanıcı, web sitenizi veya uygulamanızı açar. Öğrencilere atanacakları bir içerik seçer.
- Kullanıcının eklenti ekleri oluşturabildiğinden emin olun.
- Kullanıcı eklenti eki oluşturamıyorsa seçilen içeriğin URL'sini Bağlantı Materyali olarak içeren bir CourseWork ödevi oluşturun.
- Kullanıcı eklenti eki oluşturabiliyorsa aşağıdakileri yapın:
- Ödev oluşturun.
- Seçilen içeriğe bağlantı veren ve bunu yeni ödevle ilişkilendiren bir eklenti eki oluşturun.
- Öğ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 kullanıcılar, CourseWork ödevleri oluşturmaya çalıştığınız sınıfın öğretmeni olan ve Teaching & Learning veya Education Plus Google Workspace for Education sürümü lisansının atanmış olduğu kullanıcıdır.
Kullanıcının belirli bir Course
'da eklenti oluşturup oluşturamayacağını belirleyerek başlayın.
Kurs Kimliği de dahil olmak üzere courses.checkAddOnCreationEligibility
uç noktasına bir istek gönderin.
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, true
olarak ayarlanmış boole isCreateAttachmentEligible
değerini içerir. 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 kullanıcı tarafından seçilen içerik URL'sini Link
olarak içeren yeni bir CourseWork
ataması oluşturun.
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ıtta, talep edilen dersteki içeriğin ekli olduğu bir ödev yer alır. Kullanıcılar Link
simgesini tıklayarak sitenizdeki içeriği yeni bir sekmede açabilir.
Ş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.
- Ek içermeyen yeni bir
CourseWork
ödevi oluşturun. - Eklenti eki oluşturun.
AddOnAttachment
öğesininitemId
değerini, yeni oluşturulan atamanınid
değerine ayarlayın.- Desteklediğiniz her Görünüm için kullanıcı tarafından seçilen içeriğin URL'sini sağladığınızdan emin olun.
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. İstekte belirtilen URL'ler, her bir Görünüm için uygun iframe'de açılır.