במדריך הזה מוסבר איך ליצור קבצים מצורפים של תוספים באתר או באפליקציה. האינטראקציות דומות ליצירת מטלות באמצעות נקודות הקצה ב-CourseWork API. כדאי להטמיע את התהליך הזה כדי לאפשר למשתמשים ליצור קבצים מצורפים של תוספים מהאתר או מהאפליקציה.
תהליך העבודה
ככלל, תהליך יצירת הקבצים המצורפים מתבצע ברצף הבא:
- מורה פותח את האתר או את האפליקציה שלכם, ובוחר קטע תוכן להקצות לתלמידים.
- מוודאים שהמשתמש יכול ליצור קבצים מצורפים של תוספים.
- אם המשתמש לא יכול ליצור קבצים מצורפים של תוספים, צריך ליצור מטלה ב-CourseWork עם כתובת ה-URL של התוכן שנבחר בתור חומר קישור.
- אם המשתמש יכול ליצור קבצים מצורפים של תוספים, מבצעים את הפעולות הבאות:
- יוצרים מטלה.
- אפשר ליצור קובץ מצורף של תוסף שמקשר לתוכן שנבחר ומשייך אותו למטלה החדשה.
- עליכם להודיע למורה שהמטלה נוצרה בהצלחה.
כל פעולה מתוארת בקטעים הבאים.
לבדוק אם משתמש יכול ליצור קבצים מצורפים של תוספים
אפשר ליצור קבצים מצורפים של תוספים בשם משתמש שעומד בדרישות. משתמש שעומד בדרישות הוא מורה בקורס שבו מנסים ליצור מטלות ב-CourseWork, ושמוקצה לו רישיון למהדורת Google Workspace for Education: Teaching & Learning או Education Plus.
קודם כול צריך לקבוע אם המשתמש יכול ליצור תוספים ב-Course
נתון.
שולחים בקשה לנקודת הקצה courses.checkAddOnCreationEligibility
, כולל מזהה הקורס.
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}.')
אם המשתמש עומד בדרישות, התשובה תכיל את הערך הבוליאני isCreateAttachmentEligible
שהוגדר ל-true
. אם המשתמש לא כשיר, התשובה לא תחזיר את הערך הבוליאני isCreateAttachmentEligible
.
לנתב את המשתמשים לפי הכשירות שלהם
הזכאות קובעת אם אפשר ליצור עבור משתמש קבצים מצורפים של תוספים.
משתמש לא עומד בדרישות
אם המשתמש לא יכול ליצור קבצים מצורפים של תוספים, צריך ליצור הקצאת CourseWork
חדשה עם כתובת ה-URL של התוכן שהמשתמש בחר בתור Link
.
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")}'
)
התשובה מכילה מטלה בקורס המבוקש עם התוכן מצורף. המשתמשים יכולים ללחוץ על Link
על מנת לפתוח את התוכן של האתר בכרטיסייה
חדשה.
איור 1. תצוגה למורה של טיוטה של מטלה ב-CourseWork עם תוכן של קישור.
משתמש שעומד בדרישות
מבצעים את הפעולות הבאות אם המשתמש יכול ליצור קבצים מצורפים של תוספים.
- יצירת מטלה חדשה מסוג
CourseWork
ללא קבצים מצורפים. - יצירת קובץ מצורף של תוסף.
- מגדירים את
postId
שלAddOnAttachment
כ-id
של המטלה החדשה שנוצרה. - הקפידו לספק כתובות URL לתוכן שנבחר על ידי המשתמשים בכל תצוגה מפורטת שנתמכת.
- מגדירים את
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")}'
)
התוסף מופיע ככרטיס מצורף ב-Classroom. כתובות ה-URL שמצוינות בבקשה נפתחות ב-iframe המתאים לכל תצוגה מפורטת.