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:
- Bir öğretmen kullanıcı web sitenizi veya uygulamanızı açar. İçerikleri belirli aralıklarla ödev verebilir.
- Kullanıcının eklenti ekleri oluşturabildiğinden emin olun.
- Kullanıcı eklenti eki oluşturamıyorsa bir CourseWork oluşturun atamayı seçilen içeriğe Bağlantı Malzemesi olarak ekler.
- Kullanıcı eklenti eki oluşturabiliyorsa aşağıdakileri yapın:
- Ödev oluşturun.
- Seçili içeriğe bağlanan bir eklenti eki oluşturun ve yeni ödevle ilişkilendirmesini isteyin.
- Öğ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 ayarlayın.
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.
Ş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
itemId
ayarını, yeni oluşturulan öğeninid
olarak ayarlayın atama.- Her Görünüm için kullanıcı tarafından seçilen içeriğin URL'sini sağladığınızdan emin olun. (destekleyeceğiniz).
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.