אפליקציית Classroom תומכת בשלושה סוגים של פריטים בפיד: CourseWork
, CourseWorkMaterials
ו-Announcements
. במדריך הזה מוסבר איך לנהל CourseWork
, אבל ממשקי ה-API של כל הפריטים בפיד דומים. במאמר משאבי API מוסבר על סוגי הפריטים בפיד ועל ההבדלים ביניהם.
מקור המידע CourseWork
מייצג פריט עבודה שהוקצה לתלמידים בקורס מסוים, כולל חומרים ופרטים נוספים, כמו תאריך הגשה או ציון מקסימלי. יש ארבעה סוגי משנה של CourseWork
: assignments, quiz assignments, short answer questions ו-multiple-choice questions. Classroom API תומך בשלושה מסוגי המשנה האלה: מטלות, שאלות שיש להשיב עליהן בתשובה קצרה ושאלות אמריקאיות. הסוגים האלה מיוצגים בשדה CourseWork.workType
.
בנוסף למקור המידע CourseWork
, אפשר לנהל עבודה שהושלמה באמצעות מקור המידע StudentSubmission
.
יצירת עבודה
CourseWork
אפשר ליצור רק בשם המורה של הקורס. ניסיון ליצור CourseWork
בשם תלמיד או אדמין בדומיין שלא מוגדר כמורה בקורס, יוביל לשגיאה PERMISSION_DENIED
. מידע נוסף על התפקידים השונים ב-Classroom זמין במאמר סוגי משתמשים.
כשיוצרים CourseWork
באמצעות השיטה courses.courseWork.create
, אפשר לצרף קישורים כ-materials
, כמו שמוצג בקוד לדוגמה שלמטה:
Java
Python
חובה למלא את השדות title
ו-workType
. כל שאר השדות הם אופציונליים. אם לא מציינים את state
, נוצרת CourseWork
במצב טיוטה.
משתמשים במשאב Link עם יעד מוגדר url
כדי לכלול חומרים מקושרים ב-CourseWork
. Classroom מאחזר באופן אוטומטי את title
ואת כתובת ה-URL של תמונת התצוגה המקדימה (thumbnailUrl
). בנוסף, Classroom API תומך באופן מובנה בחומרי לימוד מ-Google Drive ומ-YouTube, שאפשר לכלול אותם במשאב DriveFile או במשאב YouTubeVideo בצורה דומה.
כדי לציין מועד אחרון, מגדירים את השדות dueDate
ו-dueTime
לשעה המתאימה ב-UTC. תאריך היעד חייב להיות בעתיד.
התגובה CourseWork
כוללת מזהה שהוקצה על ידי השרת, שאפשר להשתמש בו כדי להפנות להקצאה בבקשות אחרות של API.
אחזור של עבודה לכיתה
אתם יכולים לאחזר את CourseWork
בשם תלמידים ומורים בקורס המתאים. אפשר גם לאחזר את CourseWork
בשם אדמינים בדומיין, גם אם הם לא מורים בקורס. כדי לאחזר CourseWork
ספציפי, משתמשים ב-courses.courseWork.get
. כדי לאחזר את כל CourseWork
(אפשר גם להתאים לקריטריונים מסוימים), משתמשים ב-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
הרשאה לאחזר CourseWork
לא כוללת הרשאה לגשת לחומרים או למטא-נתונים של חומרים. בפועל, המשמעות היא שאדמינים שלא רשומים לקורס לא יוכלו לראות את השם של קובץ Drive שמצורף למטלה.
ניהול תשובות של תלמידים
משאב StudentSubmission
מייצג את העבודה של תלמיד/ה במטלה CourseWork
. המשאב כולל מטא-נתונים שקשורים לעבודה, כמו סטטוס העבודה והציון. כשיוצרים CourseWork
חדש, נוצר באופן מרומז StudentSubmission
לכל תלמיד.
בקטעים הבאים מוסבר על פעולות נפוצות לניהול תשובות של תלמידים.
אחזור תשובות של תלמידים
התלמידים יכולים לאחזר את העבודות שהם הגישו, המורים יכולים לאחזר את העבודות של כל התלמידים בקורסים שלהם, ואדמינים בדומיין יכולים לאחזר את כל העבודות של כל התלמידים בדומיין. לכל StudentSubmission
מוקצה מזהה. אם אתם יודעים את המזהה, אתם יכולים להשתמש ב-courses.courseWork.studentSubmissions.get
כדי לאחזר את השליחה.
כדי לקבל את כל המשאבים מסוג StudentSubmission
שתואמים לקריטריונים מסוימים, משתמשים בשיטה courses.courseWork.studentSubmissions.list
, כמו בדוגמה הבאה:
Java
Python
אפשר לאחזר משאבי StudentSubmission
ששייכים לתלמיד מסוים על ידי ציון הפרמטר userId
, כמו בדוגמה הבאה:
Java
Python
התלמידים מזוהים לפי המזהה הייחודי או כתובת האימייל, כפי שמופיעים במשאב Student
. המשתמש הנוכחי יכול גם להפנות למזהה שלו באמצעות הקיצור "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
הרשאה לאחזר StudentSubmission
לא כוללת הרשאה לגשת לקבצים מצורפים או למטא-נתונים של קבצים מצורפים. בפועל, המשמעות היא שאדמינים שלא חברים בקורס לא יוכלו לראות את השם של קובץ Drive שמצורף אליו.
הוספת קבצים מצורפים לתשובה של תלמיד
כדי לצרף קישורים לעבודה של תלמיד או תלמידה, אפשר לצרף משאב Link
, DriveFile
או YouTubeVideo
. הפעולה הזו מתבצעת באמצעות courses.courseWork.studentSubmissions.modifyAttachments
, כמו שמוצג בדוגמה הבאה:
Java
Python
Link
קובץ מצורף מוגדר על ידי היעד url
. מערכת Classroom מאחזרת באופן אוטומטי את title
ואת התמונה הממוזערת (thumbnailUrl
). במאמר Material
מוסבר אילו חומרי לימוד אפשר לצרף לStudentSubmissions
.
רק המורה בקורס או התלמיד שהלוח שייך לו יכולים לשנות את הלוח StudentSubmission
. אפשר לצרף Materials
רק אם הערך של CourseWorkType
ב-StudentSubmission
הוא ASSIGNMENT
.
ההיקף הנדרש תלוי בתפקיד של המשתמש המבקש בקורס. אם המשתמש הוא מורה, צריך להשתמש בהיקף הבא:
https://www.googleapis.com/auth/classroom.coursework.students
אם המשתמש הוא תלמיד/ה, צריך להשתמש בהיקף הבא:
https://www.googleapis.com/auth/classroom.coursework.me