Bu kılavuzda, web sitenizde veya uygulamanızda eklenti ekleri oluşturma hakkında bilgi verilmektedir. Etkileşimler, CourseWork API uç noktalarını kullanarak ödev oluşturmaya benzer. Kullanıcıların web sitenizden veya uygulamanızdan eklenti ekleri oluşturmasına izin vermek için bu yolculuğu uygulayın.
İş akışı
Genel olarak ek oluşturma yolculuğu şu sırayı izler:
- Öğretmen kullanıcı, web sitenizi veya uygulamanızı açar. Öğrencilerine atamak için bir içerik seçer.
- Kullanıcının eklenti ekleri oluşturabildiğini kontrol edin.
- Kullanıcı eklenti eki oluşturamıyorsa, seçili içeriğin URL'sini Bağlantı Materyali olarak içeren bir Ödev oluşturun.
- Kullanıcı eklenti eki oluşturabiliyorsa aşağıdakileri yapın:
- Ödev oluşturun.
- Seçilen içeriğe bağlantı veren bir eklenti eki oluşturun ve bu eki yeni ödevle ilişkilendirin.
- Öğretmene ödevin başarıyla oluşturulduğunu bildirin.
Her işlem aşağıdaki bölümlerde açıklanmıştır.
Kullanıcının eklenti eki oluşturup oluşturamayacağını kontrol etme
Uygun bir kullanıcı adına eklenti ekleri oluşturabilirsiniz. Uygun kullanıcı, Ödevler oluşturmaya çalıştığınız kursta öğretmen olan ve kendisine Teaching & Learning veya Education Plus Google Workspace for Education sürümü lisansı atanmış olan kullanıcıdır.
Kullanıcının eklenti eki oluşturup oluşturamayacağını belirleyerek başlayın. Bunu, CREATE_ADD_ON_ATTACHMENT
özellik parametresini kullanarak userProfiles.checkUserCapability
uç noktasına istek göndererek yapabilirsiniz. Yanıttaki doğru/yanlış allowed
alanını inceleyin. true
değeri, kullanıcının eklenti ekleri oluşturmaya uygun olduğunu gösterir.
Python
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}.')
Kullanıcıyı uygunluğuna göre yönlendirme
Uygunluk, bir kullanıcı için eklenti eki oluşturup oluşturamayacağınızı belirler.
Uygun olmayan kullanıcı
Kullanıcı eklenti ekleri oluşturamıyorsa kullanıcı tarafından seçilen içerik URL'sini Link
olarak içeren yeni bir CourseWork
ödevi 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ıt, istenen kurstaki içeriğin eklendiği bir ödev içerir. Kullanıcılar, sitenizdeki içeriği yeni bir sekmede açmak için Link
simgesini tıklayabilir.
Şekil 1. Bağlantı içeren bir ders ödevi taslağının öğretmen görünümü.
Uygun kullanıcı
Kullanıcı eklenti eki oluşturabiliyorsa aşağıdakileri yapın.
- Ek içermeyen yeni bir
CourseWork
ödevi oluşturun. - Eklenti eki oluşturun.
AddOnAttachment
'ninitemId
değerini yeni oluşturulan ödevinid
değerine ayarlayın.- Desteklediğiniz her Görüntüleme için kullanıcı tarafından seçilen içeriğin URL'lerini 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 görüntüleme için uygun iframe'de açılır.