Bu kılavuzda, web sitenizde veya uygulamanızda eklenti ekleri oluşturma konusu 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şturmasına olanak tanımak için bu süreci uygulayın.
İş akışı
Genel olarak, ek oluşturma süreci şu sırayı izler:
- Bir öğretmen kullanıcısı web sitenizi veya uygulamanızı açar ve öğrencilerine atamak için bir içerik seçer.
- Kullanıcının eklenti ekleri oluşturabildiğinden emin olun.
- Kullanıcı eklenti ekleri oluşturamıyorsa seçilen içeriğin URL'sini Bağlantı Materyali olarak kullanarak bir Ödev oluşturun.
- Kullanıcı, eklenti eki oluşturabiliyorsa aşağıdaki adımları uygulayın:
- Ödev oluşturun.
- Seçili içeriğe bağlanan bir eklenti eki oluşturun ve bunu yeni ödevle ilişkilendirin.
- Ödevin başarıyla oluşturulduğunu öğretmene 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 bir kullanıcı, ve CourseWork ödevleri 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ış bir kullanıcıdır.
Kullanıcının eklenti eki oluşturup oluşturamayacağını belirleyerek başlayın. Bunu, CREATE_ADD_ON_ATTACHMENT
özelliği parametresiyle userProfiles.checkUserCapability
uç noktasına istek göndererek yapabilirsiniz. Yanıtın boolean
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('User eligibility for add-on attachment creation: '
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 eki oluşturamıyorsa, kullanıcı tarafından seçilen içerik URL'sinin Link
olarak eklendiği 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ıtta, istenen kurstaki bir ödev ve eklenmiş içerik yer alıyor. Kullanıcılar, sitenizdeki içeriği yeni bir sekmede açmak için Link
simgesini tıklayabilir.
1.şekil Bağlantı Materyali içeren bir CourseWork ödevinin taslağının öğretmen görünümü.
Uygun kullanıcı
Kullanıcı eklenti eki oluşturabiliyorsa aşağıdaki adımları uygulayın.
- Eksiz bir
CourseWork
ödevi oluşturun. - Eklenti eki oluşturun.
AddOnAttachment
'ınitemId
değerini yeni oluşturulan ödevinid
değerine ayarlayın.- Desteklediğiniz her görünüm 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, uygun her bir görünüm için iFrame'de açılır.