מבוא

מורים שמשתמשים גם בכלים של Classroom וגם בכלים של צד שלישי מתמודדים עם האתגר של הגדרת הקורסים ורשימות התלמידים בפלטפורמות שונות. אפשר לעשות את זה באופן ידני באמצעות העלאות בקובץ CSV או להזין הודעות אימייל אחת אחרי השנייה. עם זאת, בעזרת Classroom API, כלים של צד שלישי יכולים להפחית את עומסי העבודה של המורים באמצעות שילוב עם התרחיש הנפוץ ביותר לשימוש ב-API: ייבוא רשימת תלמידים.

ייבוא של רשימות תלמידים מאפשר לפלטפורמות של צד שלישי לאחזר את המטא-נתונים, המורים והתלמידים של הקורס, עם הרשאות מורים או הרשאות אדמין לכל קורס בנפרד. מורים יכולים לאחזר פרטים על הקורסים שהם מלמדים, ואילו לאדמינים יש גישה לפרטים של כל הקורסים בדומיין שלם. הגמישות הזו מאפשרת למפתחים לצרף בצורה חלקה רשימות תלמידים ל-Classroom לפלטפורמה שלהם, גם ברמת המורה האישי וגם ברמת הדומיין כולו, באמצעות פרטי כניסה של אדמין.

לפני שנפרט את הפרטים הטכניים על השילוב של ייבוא רשימות תלמידים, כדאי לסקור קודם את תהליך העבודה לדוגמה:

  1. באפליקציית הצד השלישי, המורה בוחר באפשרות לייבא קורס ב-Classroom.

  2. אפליקציית הצד השלישי מפעילה את השיטה courses.list דרך Classroom API, וכך היא תחזיר קובץ JSON עם כל הקורסים של המורה.

  3. מתוך תגובת ה-JSON, אפליקציית הצד השלישי מציגה את שמות הקורסים של המורה כדי שהם יוכלו לבחור אחד מהם. כדי להמשיך לשלב הבא, האפליקציה צריכה לעקוב אחרי מזהי הקורס.

  4. באמצעות מזהה הקורס שנבחר, אפליקציית הצד השלישי קוראת ל-method students.list ו-teachers.list ומציגה את כל השמות באתר שלה כדי שהמורים יאשרו את הייבוא.

  5. באמצעות כתובות האימייל שהוחזרו ב-JSON של התגובה students.list ו-teachers.list, אפליקציית הצד השלישי מזמינה את המשתמשים להצטרף לפלטפורמה של הקורס החדש שיובא.

בכל אחת מהשיטות שמוזכרות בתהליך העבודה, אפשר להשתמש ב-API Explorer כדי לבדוק בדיוק איך כל שיטה פועלת. מומלץ גם לקרוא את הקריאות הבאות לפני שמסיימים את המדריך:

  1. ניהול קורסים באמצעות Classroom API
  2. ניהול תלמידים ומורים

תרשים שמסכם את תהליך העבודה של ייבוא רשימות התלמידים, כמפורט למעלה.

תחילת העבודה

לפני שתטמיעו את הפרטים הספציפיים של ייבוא רשימות התלמידים ב-Classroom, עליכם להחליט אילו פרטים לגבי הקורסים ולגבי המשתמשים צריך לאחזר דרך ה-API. במסמכי העזר תוכלו לראות אילו מטא-נתונים של הקורס זמינים, אבל אפשר לסכם חלק מהשדות הנפוצים או הנדרשים:

שדה שימוש
id נדרש עבור בקשות API לאחזור תלמידים או מורים
name מומלץ למשתמשים כדי שיהיה קל להשתמש בהם, למשל להציג אותם באתר שלכם.
ownerId נדרשת כשמייבאים נתונים ברמת הדומיין כדי לזהות נכון את המורה הראשי/ת בקורס.

המידע על הקורס מאוחזר בשלב courses.list של תהליך העבודה שלמעלה. בבקשה הזו אפשר לציין פרמטרים מסוימים של בקשה. אמנם לא חובה להשתמש בשיטה הזו, אבל כמה מהפרמטרים המומלצים הם:

פרמטר שימוש
courseState אם לא מציינים שום אפשרות, ה-API יחזיר קורסים מכל ששת מצבי הקורס. מומלץ לציין את הקורס ACTIVE כדי לאחזר את הקורסים שבהם המורים משתמשים.
pageSize למורים שמייבאים קורסים משלהם, מומלץ לציין pageSize קטן (פחות מ-10) כדי לקצר את זמן התגובה של הקריאה ל-API.
pageToken נדרש אם משתמשים בבקשות של חלוקה לדפים.
teacherId ההמלצה הזו מוצגת כי אדמינים של דומיינים מלמדים לעיתים קרובות קורסים. אם לא צוינה, הבקשה תחזיר קורסים של מורים בכל הדומיין.
Fields מומלץ לקצר את זמן התגובה לקריאה ל-API.

בעזרת מזהי הקורס שאוחזרו מוקדם יותר, האפליקציה יכולה לאחזר עכשיו את רשימת התלמידים והמורים העמיתים בקורס או בקורסים. מזהה הקורס הזה הוא פרמטר השאילתה היחיד שנדרש ל-teachers.list ול-students.list, אבל באותו אופן כדאי גם לציין את הפרמטרים pageSize ו-fields כדי לקצר את זמן התגובה של הקריאות ל-API.

אפשר למצוא את כל השדות שזמינים במשאבים של התלמידים ושל המורים במסמכים המתאימים. שני שדות החובה הנפוצים ביותר, שבדרך כלל נדרשים להם, נמצאים בשדה profile: profile.name ו-profile.emailAddress.

שדה שימוש
profile.name מומלץ למשתמשים כדי שיהיה קל להשתמש בהם, למשל להציג אותם באתר שלכם.
profile.emailAddress נדרש לאפליקציות שמעוניינים לזהות תלמידים באופן ייחודי

כדי לאחזר את הפרטים האלה של הקורס או רשימת התלמידים מ-Classroom ולהשתמש בהם, האפליקציה שלכם תצטרך לבקש הרשאה ממשתמשים. יש שלושה (3) היקפים נדרשים כדי להטמיע את תהליך העבודה הזה:

  • https://www.googleapis.com/auth/classroom.courses.readonly
    • הרשאת קריאה בלבד לקורסים ב-Google Classroom
  • https://www.googleapis.com/auth/classroom.rosters.readonly
    • נותנת הרשאת קריאה בלבד לרשימת הקורסים ב-Google Classroom (מורים ותלמידים)
  • https://www.googleapis.com/auth/classroom.profile.emails
    • מספקים גישת קריאה לנכס email של מורים ותלמידים

סנכרון של רשימות התלמידים עם התראות Pub/Sub

עם התקדמות שנת הלימודים, רשימות התלמידים עשויות להשתנות כאשר תלמידים מפסיקים או מוסיפים קורסים. הוספה של התראות ב-Pub/Sub תאפשר לכם לסנכרן את האפליקציה של הצד השלישי עם סרגלי הקהלים ב-Classroom. כדי לקבל התראות, צריך להגדיר נושא ב-Google Cloud Pub/Sub ולאחר מכן לרשום את הנושא באמצעות Classroom API. ההרשמה הזו היא בקשה ל-Classroom לשלוח נתונים מהפיד הנתון לנושא הנתון. הפיד הזה ישמש כטריגרים לאירוע, לצורך סנכרון מחדש עם רשימת התלמידים ב-Classroom של המורה.

לשימוש בהתראות נדרש היקף אחד נוסף, שלא צריך להגיש לאימות:

  • https://www.googleapis.com/auth/classroom.push-notifications
    • מאפשרת לאפליקציה להירשם לכל פעילות של התראות שנשלחות מהאפליקציה

תרשים שמסכם את תהליך הייבוא של רשימת התלמידים באמצעות התראות

במדריך שלנו לניהול התראות ב-Classroom מפורט מידע נוסף על השילוב עם ההתראות של Classroom.