UI ของ Classroom รองรับงานของชั้นเรียน5 ประเภท ได้แก่ งาน งานแบบทดสอบ คำถามแบบตอบสั้นๆ คำถามแบบหลายตัวเลือก และเนื้อหา ขณะนี้ Classroom API รองรับประเภทเหล่านี้ 3 ประเภท ซึ่งเรียกว่า CourseWorkType
สำหรับ API ได้แก่ Assignments, คำถามที่ต้องการคำตอบสั้นๆ และคำถามแบบหลายตัวเลือก
หากต้องการเข้าถึงฟังก์ชันการทำงานนี้ ให้ใช้ทรัพยากรสำหรับงาน ซึ่งแสดงถึงงานหรือคำถามที่กำหนดให้นักเรียนในหลักสูตรหนึ่งๆ รวมถึงเนื้อหาและรายละเอียดเพิ่มเติม เช่น วันที่ครบกำหนดหรือคะแนนสูงสุด
นอกจากทรัพยากร "งาน" แล้ว คุณยังจัดการงานที่เสร็จแล้วได้ด้วยทรัพยากร StudentSubmission
ส่วนต่อไปนี้จะอธิบายเกี่ยวกับ
สิ่งเหล่านี้โดยละเอียดยิ่งขึ้น
สร้างงาน
คุณสร้างงานในนามของครูในหลักสูตรได้เท่านั้น และพยายามสร้างงานในหลักสูตรในนามของนักเรียนจะส่งผลให้เกิดข้อผิดพลาด 403 PERMISSION_DENIED
ในทํานองเดียวกัน ผู้ดูแลระบบโดเมนจะสร้างงานสําหรับหลักสูตรที่ไม่ได้สอนไม่ได้ และการพยายามทําเช่นนั้นผ่าน API ก็จะทำให้เกิดข้อผิดพลาด 403 PERMISSION_DENIED
ด้วย
เมื่อสร้างงานโดยใช้เมธอด courses.courseWork.create
คุณจะแนบลิงก์เป็น materials
ได้ ดังที่แสดงในตัวอย่างโค้ดด้านล่าง
Java
Python
ผลลัพธ์จะมีตัวระบุที่เซิร์ฟเวอร์กำหนดซึ่งสามารถใช้อ้างอิงการมอบหมายในคำขอ API อื่นๆ ได้
หากต้องการรวมเนื้อหาที่ลิงก์ไว้ในงานที่สร้างขึ้นผ่าน Classroom API ให้ใช้ลิงก์แหล่งข้อมูลโดยระบุ URL เป้าหมาย Classroom จะดึงข้อมูลชื่อและภาพปกโดยอัตโนมัติ นอกจากนี้ Classroom API ยังรองรับสื่อจาก Google ไดรฟ์และ YouTube โดยกำเนิด ซึ่งสามารถรวมไว้ในทรัพยากร DriveFile หรือทรัพยากร YouTubeVideo ในลักษณะที่คล้ายกัน
หากต้องการระบุวันที่ครบกำหนด ให้ตั้งค่าช่อง dueDate
และ dueTime
เป็นเวลา UTC ที่เกี่ยวข้อง วันที่ครบกำหนดต้องเป็นวันที่ในอนาคต
เรียกข้อมูลงานและคำถาม
คุณสามารถเรียกดูงานและคำถามสำหรับนักเรียนและครูของหลักสูตรที่เกี่ยวข้องหรือเรียกดูโดยผู้ดูแลระบบโดเมน หากต้องการเรียกข้อมูลงานหรือคำถามที่ต้องการ ให้ใช้course.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
การมีสิทธิ์เรียกข้อมูลงานหรือคำถามไม่ได้หมายความว่าคุณมีสิทธิ์เข้าถึงสื่อการเรียนการสอนหรือข้อมูลเมตาของสื่อ ในทางปฏิบัติ หมายความว่าผู้ดูแลระบบอาจไม่เห็นชื่อไฟล์ในไดรฟ์ที่แนบมาหากไม่ได้เป็นสมาชิกของหลักสูตร หากต้องการอนุญาตให้ผู้ดูแลระบบเข้าถึงไฟล์ของผู้ใช้ โปรดดูคำแนะนำการมอบสิทธิ์ทั่วทั้งโดเมน
จัดการคำตอบของนักเรียน
แหล่งข้อมูล 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
การมีสิทธิ์เรียกข้อมูลงานที่นักเรียนส่งไม่ได้หมายความว่าคุณมีสิทธิ์เข้าถึงไฟล์แนบหรือข้อมูลเมตาของไฟล์แนบ ในทางปฏิบัติ ผู้ดูแลระบบจะไม่เห็นชื่อของไฟล์แนบในไดรฟ์หากไม่ได้เป็นสมาชิกของหลักสูตร หากต้องการอนุญาตให้ผู้ดูแลระบบเข้าถึงไฟล์ของผู้ใช้ โปรดดูคู่มือการมอบสิทธิ์ทั่วทั้งโดเมน
การเพิ่มไฟล์แนบในคำตอบของนักเรียน
คุณสามารถแนบลิงก์ไปยังงานที่นักเรียนส่งโดยแนบแหล่งข้อมูล 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