برنامه Classroom از سه نوع آیتم جریانی پشتیبانی میکند: CourseWork ، CourseWorkMaterials و Announcements . این راهنما نحوه مدیریت CourseWork را شرح میدهد، اما APIهای مربوط به همه آیتمهای جریانی مشابه هستند. برای کسب اطلاعات بیشتر در مورد انواع آیتمهای جریانی و تفاوتهای آنها، به منابع API مراجعه کنید.
منبع CourseWork نشاندهنده یک آیتم کاری است که در یک دوره خاص به دانشجویان اختصاص داده شده است، از جمله هرگونه مطالب و جزئیات اضافی، مانند تاریخ تحویل یا حداکثر نمره. چهار زیرگروه CourseWork وجود دارد: تکالیف ، تکالیف آزمون ، سوالات پاسخ کوتاه و سوالات چندگزینهای . Classroom API از سه مورد از این زیرگروهها پشتیبانی میکند: تکالیف، سوالات پاسخ کوتاه و سوالات چندگزینهای. این نوعها توسط فیلد CourseWork.workType نمایش داده میشوند.
علاوه بر منبع CourseWork ، میتوانید کارهای تکمیلشده را با منبع StudentSubmission مدیریت کنید.
ایجاد دورههای آموزشی
CourseWork فقط میتواند از طرف استاد دوره ایجاد شود. تلاش برای ایجاد CourseWork از طرف یک دانشجو یا مدیر دامنه که استاد دوره نیست، منجر به خطای PERMISSION_DENIED میشود. برای کسب اطلاعات بیشتر در مورد نقشهای مختلف در Classroom، به انواع کاربر مراجعه کنید.
هنگام ایجاد CourseWork با استفاده از متد courses.courseWork.create ، میتوانید لینکها را به عنوان materials پیوست کنید، همانطور که در کد نمونه زیر نشان داده شده است:
جاوا
پایتون
فیلدهای title و workType الزامی هستند. سایر فیلدها اختیاری هستند. اگر state مشخص نشود، CourseWork در وضعیت پیشنویس ایجاد میشود.
برای افزودن مطالب لینکشده به CourseWork از یک منبع Link با یک url هدف مشخص استفاده کنید. Classroom بهطور خودکار title و آدرس اینترنتی تصویر کوچک ( 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 انجام میشود. این منبع شامل ابردادههای مربوط به کار، مانند وضعیت کار و نمره است. یک StudentSubmission به طور ضمنی برای هر دانشجو هنگام ایجاد یک CourseWork جدید ایجاد میشود.
بخشهای بعدی اقدامات رایجی را که پاسخهای دانشآموزان را مدیریت میکنند، توضیح میدهند.
بازیابی پاسخهای دانشآموزان
دانشآموزان میتوانند مطالب ارسالی خود را بازیابی کنند، معلمان میتوانند مطالب ارسالی همه دانشآموزان در دورههای خود را بازیابی کنند، و مدیران دامنه میتوانند تمام مطالب ارسالی همه دانشآموزان در دامنه خود را بازیابی کنند. به هر StudentSubmission یک شناسه اختصاص داده میشود. اگر شناسه را میدانید، courses.courseWork.studentSubmissions.get برای بازیابی مطالب ارسالی استفاده کنید.
از متد courses.courseWork.studentSubmissions.list برای دریافت تمام منابع StudentSubmission که با برخی معیارها مطابقت دارند، همانطور که در نمونه زیر نشان داده شده است، استفاده کنید:
جاوا
پایتون
منابع StudentSubmission که متعلق به یک دانشجوی خاص است را با مشخص کردن پارامتر userId بازیابی کنید، همانطور که در نمونه زیر نشان داده شده است:
جاوا
پایتون
دانشآموزان با شناسه یا آدرس ایمیل منحصر به فرد، همانطور که در منبع Student نشان داده شده است، شناسایی میشوند. کاربر فعلی همچنین میتواند با استفاده از اختصار "me" به شناسه خود مراجعه کند.
همچنین میتوان تکالیف ارسالی دانشجویان را برای همه تکالیف درون یک دوره بازیابی کرد. برای انجام این کار، از "-" به عنوان courseWorkId استفاده کنید، همانطور که در نمونه زیر نشان داده شده است:
جاوا
service.courses().courseWork().studentSubmissions()
.list(courseId, "-")
.set("userId", userId)
.execute();
پایتون
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 انجام میشود، همانطور که در نمونه زیر نشان داده شده است:
جاوا
پایتون
یک پیوست Link توسط url هدف تعریف میشود؛ Classroom به طور خودکار title و تصویر کوچک ( thumbnailUrl ) را دریافت میکند. برای کسب اطلاعات بیشتر در مورد مطالبی که میتوانند به StudentSubmissions پیوست شوند، به Material مراجعه کنید.
StudentSubmission فقط میتواند توسط استاد درس یا دانشجوی مالک آن تغییر داده شود. شما فقط در صورتی میتوانید Materials پیوست کنید که CourseWorkType StudentSubmission ASSIGNMENT باشد.
محدوده مورد نیاز به نقشی که کاربر درخواست کننده در دوره دارد بستگی دارد. اگر کاربر معلم است، از محدوده زیر استفاده کنید:
-
https://www.googleapis.com/auth/classroom.coursework.students
اگر کاربر دانشجو است، از محدوده زیر استفاده کنید:
-
https://www.googleapis.com/auth/classroom.coursework.me