בממשק המשתמש של Classroom יש תמיכה בחמישה סוגים של עבודות: מטלות,
מטלות עם בחנים, שאלות שיש להן תשובות קצרות, שאלות אמריקאיות
חומרים. נכון לעכשיו, Classroom API תומך בשלושה מהסוגים האלה,
נקראים CourseWorkType
דרך ה-API: 'משימות', 'תשובה קצרה'
שאלות אמריקאיות ושאלות אמריקאיות.
כדי לגשת לפונקציונליות הזו, אפשר להשתמש מקור המידע על CourseWork, שמייצג מטלה או שאלה שהוקצו לתלמידים לגבי קורס מסוים, כולל חומרי לימוד ופרטים נוספים, כמו תאריך או ציון מקסימלי.
בנוסף למשאב CourseWork, אפשר לנהל מטלות שהושלמו
בעזרת המשאב StudentSubmission
. הקטעים הבאים מתארים את
בצורה מפורטת יותר.
ליצור מטלות.
אפשר ליצור מטלות רק בשם המורים של הקורס
ניסיון ליצור מטלות בקורס בשם התלמיד/ה יגרום
בשגיאה PERMISSION_DENIED
403. באופן דומה, מנהלי דומיינים לא יכולים ליצור
בקורסים שהם לא מלמדים ומנסים לעשות זאת דרך ה-API
תגרום גם לשגיאה 403 PERMISSION_DENIED
.
כשיוצרים מטלות באמצעות השיטה courses.courseWork.create
,
יכול לצרף קישורים בתור materials
, כפי שמוצג בקוד לדוגמה הבא:
Java
Python
התוצאה כוללת מזהה שמוקצה לשרת, שיכול לשמש את ההקצאה בבקשות API אחרות.
כדי לכלול חומרי לימוד מקושרים במטלה שנוצרה באמצעות Classroom API: להשתמש במקור מידע על קישור, את כתובת ה-URL של היעד. המערכת של Classroom מאחזרת באופן אוטומטי את הכותרת ואת התמונה הממוזערת. ה-Classroom API גם תומך במקור ב-Google Drive ובחומרים של YouTube, נכללות במשאב DriveFile או מקור המידע של YouTubeVideo בדרך הזו.
כדי לציין תאריך הגשה, צריך להגדיר את השדות dueDate
ו-dueTime
המתאים לפי שעון UTC. תאריך היעד חייב להיות בעתיד.
לאחזר מטלות ושאלות
אפשר לאחזר מטלות ושאלות לתלמידים ולמורים הקורס המתאים או מנהל דומיין. כדי לאחזר קוד אימות ספציפי למטלה או לשאלה, נכנסים לקורס classes.courseWork.get. כדי לאחזר את הכול מטלות או שאלות (ניתן להתאים לקריטריונים מסוימים), השתמשו courses.courseWork.list.
ההיקף הנדרש תלוי בתפקיד של המשתמש המבקש כמובן. אם המשתמש הוא תלמיד, תוכלו להשתמש באחד מההיקפים הבאים:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
אם המשתמש הוא מורה או מנהל דומיין, צריך להשתמש באחת מהאפשרויות הבאות היקפים:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
קבלת הרשאה לאחזר מטלה או שאלה לא מעידה על כך הרשאות גישה לחומרים או למטא-נתונים של חומרים. בפועל, המשמעות היא שייתכן שאדמין לא יראה את הכותרת של קובץ מצורף ב-Drive, לא משתתפים בקורס. אם רוצים לאפשר לאדמינים גישה למשתמש קבצים, אפשר לעיין במודל ברמת הדומיין מינוי שלוחה הרשאות מותאמת אישית.
ניהול התשובות של התלמידים
StudentSubmission
שמייצג את העבודה שבוצעה והציון של תלמיד במטלה או
שאלה. StudentSubmission
נוצר במרומז לכל תלמיד ותלמידה כששואלים אותם שאלה חדשה
המטלה נוצרת.
בקטעים הבאים מוסברות פעולות נפוצות לניהול התשובות של התלמידים.
אחזור תשובות של תלמידים
התלמידים יכולים לאחזר את המטלות שלהם, המורים יכולים לאחזר את המטלות שהם הגישו.
לכל הסטודנטים בקורסים שלהם, ומנהלי דומיינים יכולים לאחזר את
לכל התלמידים בדומיין שלהם. כל הגשה של תלמיד
להקצות מזהה, אם אתם יודעים את המזהה,
courses.courseWork.studentSubmissions.get
כדי לאחזר אותו.
משתמשים בשיטה courses.courseWork.studentSubmissions.list
כדי לקבל
StudentSubmission
משאבים שתואמים לקריטריונים מסוימים, כמו שאפשר לראות
הדוגמה הבאה:
Java
Python
מאחזרים StudentSubmission
משאבים ששייכים לתלמיד מסוים באמצעות
שמציין את הפרמטר userId
, כפי שמוצג בדוגמה הבאה:
Java
Python
התלמידים מזוהים לפי המזהה הייחודי או כתובת האימייל של המשתמש, וכן
שהוחזר על ידי Google Admin SDK. המשתמש הנוכחי יכול להתייחס גם לרשומות שלו
מזהה באמצעות הקיצור "me"
.
אפשר גם לקבל את ההגשות של התלמידים עבור כל המטלות במסגרת
כמובן. כדי לעשות את זה, צריך להשתמש בליטרל "-"
בתור courseWorkId
, כמו שמוצג
הדוגמה הבאה:
Java
service.courses().courseWork().studentSubmissions()
.list(courseId, "-")
.set("userId", userId)
.execute();
Python
service.courses().courseWork().studentSubmissions().list(
courseId=<course ID or alias>,
courseWorkId='-',
userId=<user ID>).execute()
ההיקף הנדרש תלוי בתפקיד של המשתמש המבקש כמובן. צריך להשתמש בהיקף הבא אם המשתמש הוא מורה או דומיין אדמין:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
אם המשתמש הוא תלמיד/ה, יש להשתמש בהיקף הבא:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
קבלת אישור לאחזר את ההגשה של התלמיד או התלמידה לא מעידה על כך הרשאות גישה לקבצים מצורפים או למטא-נתונים של קבצים מצורפים. בפועל, המשמעות היא שאדמין לא יכול לראות את הכותרת של קובץ מצורף ב-Drive, הם לא שייכים לקורס. אם רוצים להעניק הרשאת גישה לאדמינים לקובצי משתמש, עיינו מדריך להענקת גישה ברמת הדומיין.
הוספת קבצים מצורפים לתשובה של התלמידים
אפשר לצרף קישורים להגשת עבודות על ידי צירוף של Link
,
משאב DriveFile
או YouTubeVideo
. הפעולה הזו מתבצעת באמצעות
courses.courseWork.studentSubmissions.modifyAttachments
, כפי שמוצג
הדוגמה הבאה:
Java
Python
קובץ מצורף של קישור מוגדר על ידי כתובת ה-URL של היעד. מערכת Classroom תפעל באופן אוטומטי אחזור של הכותרת והתמונה הממוזערת. ניתן לקבל מידע על חומרים אחרים בכתובת את דפי העזר המתאימים.
StudentSubmission
יכול לשנות רק על ידי מורה של קורס או על ידי
התלמיד שהוא הבעלים שלו. אפשר לצרף את Materials
רק אם
CourseWorkType
שהוגשו על ידי התלמיד או התלמידה הם ASSIGNMENT
.
ההיקף הנדרש תלוי בתפקיד של המשתמש המבקש כמובן. אם המשתמש הוא מורה, צריך להשתמש בהיקף הבא:
https://www.googleapis.com/auth/classroom.coursework.students
אם המשתמש הוא תלמיד/ה, יש להשתמש בהיקף הבא:
https://www.googleapis.com/auth/classroom.coursework.me
ניהול מצב התשובות של התלמידים
אפשר לבטל את ההגשה של התשובה של התלמידים, להגיש אותה או להחזיר אותה. שדה המדינה
ב-StudentSubmission
מציין את המצב הנוכחי. כדי לשנות את המדינה, צריך להתקשר
אחת מהשיטות הבאות:
courses.courseWork.studentSubmissions.turnIn
courses.courseWork.studentSubmissions.return
courses.courseWork.studentSubmissions.reclaim
בכל השיטות האלה יש גוף ריק. דוגמה:
Java
Python
service.courses().courseWork().studentSubmission().turnIn(
courseId=<course ID or alias>,
courseWorkId=<courseWork ID>,
id=<studentSubmission ID>,
body={}).execute()
רק התלמיד שבבעלותו StudentSubmission
יכול להגיש את המטלה או להחזיר אותו.
אפשר להגיש מחדש רק הגשה שהוגשה. מורים בקורס יכולים להחזיר רק
המכשיר StudentSubmission
במצב 'הוגשה'.
מתן ציון לתגובות של התלמידים
במשאב StudentSubmission
יש שני שדות לשמירת הציונים:
assignedGrade
, שהוא הציון המדווח לתלמידים, וגם draftGrade
,
זהו ציון לא סופי שגלוי רק למורים. השדות האלה עודכנו
שימוש ב-courses.courseWork.studentSubmissions.patch
עם מסכת שדות
שמכילים את השדות המתאימים, כפי שמוצג בדוגמה הבאה.
Java
Python
studentSubmission = {
'assignedGrade': 99,
'draftGrade': 80
}
service.courses().courseWork().studentSubmissions().patch(
courseId=<course ID or alias>,
courseWorkId=<courseWork ID>,
id=<studentSubmission ID>,
updateMask='assignedGrade,draftGrade',
body=studentSubmission).execute()
כשעובדים עם ממשק המשתמש של Classroom, מורים יכולים לתת ציון רק אחרי שהם שמרו לראשונה טיוטת ציון. לאחר מכן אפשר להחזיר את הציון שהוקצה ל לתלמיד/ה. האפליקציות צריכות לאמולה של ההתנהגות הזו. האפליקציה שלך יכולה לתת ציון למטלה באחת משתי דרכים:
הקצאה של
draftGrade
בלבד. לדוגמה, אפשרות זו שימושית כדי לאפשר למורה לבדוק ידנית את הציונים לפני סיום כולם. התלמידים לא יכולים לראות טיוטות ציונים.כדי לתת ציון מלא למטלה, צריך להקצות גם את
draftGrade
וגם אתassignedGrade
.
הצגת רשימת הציונים שהוקצו
כדי להציג את רשימת כל הציונים של פריט מסוים בעבודה, אפשר לעיין
אובייקט התגובה של השיטה courses.courseWork.studentSubmissions.list
:
Java
Python
response = coursework.studentSubmissions().list(
courseId=course_id,
courseWorkId=coursework_id,
pageSize=10).execute()
submissions.extend(response.get('studentSubmissions', []))
if not submissions:
print('No student submissions found.')
print('Student Submissions:')
for submission in submissions:
print(f"Submitted at:"
f"{(submission.get('userId'), submission.get('assignedGrade'))}")