โต้ตอบกับไฟล์แนบ

หน้านี้จะพูดถึงรายละเอียดการใช้งานในการสร้างไฟล์แนบและการดำเนินการกับงานที่นักเรียนส่ง โปรดทราบว่าคุณอาจต้องระบุพารามิเตอร์ที่เกี่ยวข้องกับไฟล์แนบเมื่อส่งคำขอเหล่านี้

สร้างไฟล์แนบ

สร้างไฟล์แนบโดยการส่งคำขอ CREATE ไปยังปลายทาง courses.*.addOnAttachments.create ที่เหมาะสม คำขอของคุณต้องมีอินสแตนซ์ของ AddOnAttachment ในเนื้อหาคำขอ

ต้องกรอกข้อมูลในช่องต่อไปนี้เมื่อสร้างไฟล์แนบ

  • title: ชื่อสตริงของไฟล์แนบ
  • teacherViewUri: URI สำหรับมุมมองของครูของไฟล์แนบ
  • studentViewUri: URI สำหรับมุมมองของนักเรียนของไฟล์แนบ
  • studentWorkReviewUri: URI สำหรับครูเพื่อดูงานของนักเรียนในไฟล์แนบ ช่องนี้จำเป็นต้องกรอกสำหรับไฟล์แนบประเภทกิจกรรมเท่านั้น

คุณอาจต้องการที่ช่องที่ไม่บังคับต่อไปนี้

  • dueDate และ dueTime หากระบุว่าต้องส่งไฟล์แนบเมื่อใด
  • maxPoints: เกรดสูงสุดของไฟล์แนบ ค่าที่ไม่ใช่ 0 หากต้องการรองรับการส่งเกรดส่งคืน ใช้กับไฟล์แนบประเภทกิจกรรมเท่านั้น

ดูรายละเอียดเพิ่มเติมเกี่ยวกับช่องเหล่านี้ในข้อมูลอ้างอิงของทรัพยากร AddOnAttachment

รายละเอียดการส่งงานของนักเรียน

ขั้นตอนการส่งเนื้อหาโดยทั่วไปจะทำตามขั้นตอนต่อไปนี้

  1. นักเรียนเปิด studentViewUri เพื่อทำกิจกรรมให้เสร็จ
  2. ส่วนเสริมจะเรียกข้อมูล submissionId จากเมธอด getAddOnContext โดยใช้ข้อมูลเข้าสู่ระบบของนักเรียน
  3. นักพัฒนาซอฟต์แวร์ส่วนเสริมจะจัดเก็บ submissionId และ attachmentId ไว้เป็นตัวระบุที่ไม่ซ้ำกันสำหรับงานของนักเรียน ในกรณีที่ครูคัดลอกงานใน Classroom คุณสามารถใช้คีย์ประกอบของพารามิเตอร์ทั้ง 2 รายการเพื่อแสดงไฟล์แนบใหม่ในงานที่คัดลอกได้ ดูรายละเอียดเพิ่มเติมได้ที่หน้าเว็บเกี่ยวกับเนื้อหาที่คัดลอก
  4. ครูที่สนใจตรวจสอบงานของนักเรียนได้เปิดตัว studentWorkReviewUri คำขอมีพารามิเตอร์การค้นหาต่อไปนี้ courseId, itemId, itemType, attachmentId และ submissionId
  5. นักพัฒนาส่วนเสริมจะใช้รหัสทั้ง 4 นี้ในการเรียกงานของนักเรียน ใช้ปลายทาง courses.courseWork.addOnAttachments.studentSubmissions เพื่อเรียกดูหรือแก้ไขข้อมูลเกี่ยวกับงานที่นักเรียนส่ง

ตรวจหาสถานะการส่ง

ส่งคำขอ GET ไปยังปลายทาง courses.courseWork.addOnAttachments.studentSubmissions เพื่อรับรายละเอียดเกี่ยวกับ submissionId ที่เฉพาะเจาะจง คุณจะได้รับออบเจ็กต์ AddOnAttachmentStudentSubmission ซึ่งมีคะแนนของงาน (pointsEarned) และสถานะปัจจุบันของงาน (postSubmissionState) สถานะการส่งอาจเป็นค่าใดค่าหนึ่งต่อไปนี้

  • NEW หากนักเรียนไม่เคยเข้าถึงงานที่ส่ง
  • CREATED หากนักเรียนสร้างการส่งแล้ว แต่ยังไม่ได้ส่ง
  • TURNED_IN หากนักเรียนส่งงานให้ครูแล้ว
  • RETURNED หากครูส่งงานคืนให้นักเรียน
  • RECLAIMED_BY_STUDENT หากนักเรียน "ยกเลิกการส่ง" งานแล้ว

ใช้ปลายทางนี้เพื่อตรวจหาสถานะงานของนักเรียนในส่วนเสริม จากนั้น คุณอาจปรับมุมมองหรือตัวเลือกที่นักเรียนได้รับโดยขึ้นอยู่กับรัฐที่ส่งคืน ซึ่งอาจรวมถึงฟีเจอร์ต่างๆ เช่น

  • แสดงสถานะการส่งงานภายในส่วนเสริม วิธีนี้อาจช่วยให้นักเรียนไม่เกิดความสับสนและมั่นใจได้ว่าไม่ส่งงานโดยไม่ได้ตั้งใจ
  • การจำกัดสิทธิ์แก้ไขการส่ง หากงานมีสถานะ CREATED หรือ RECLAIMED_BY_STUDENT นักเรียนอาจได้รับอนุญาตให้แก้ไขงานที่ส่ง หากงานมีสถานะ TURNED_IN หรือ RETURNED นักเรียนอาจไม่ได้รับอนุญาตให้แก้ไขงานที่ส่ง

คะแนนและไฟล์แนบหลายรายการ

คุณใช้ไฟล์แนบของส่วนเสริมได้เพียง 1 ไฟล์เท่านั้นในการตั้งค่าคะแนนสำหรับงาน 1 รายการ หากครูสร้างไฟล์แนบประเภทกิจกรรมมากกว่า 1 รายการที่ระบุค่า maxPoints เฉพาะไฟล์แนบแรกเท่านั้นที่จะกำหนดคะแนนของงานได้ เว้นค่า maxPoints ไว้หรือตั้งค่าเป็น 0 เพื่อปิดใช้การส่งคืนเกรดกับไฟล์แนบ

กำหนดคะแนนของงาน

คุณแก้ไขงานที่นักเรียนส่งได้โดยส่งคำขอ PATCH ไปยังปลายทาง courses.courseWork.addOnAttachments.studentSubmissions เนื้อหาของคำขอต้องรวมอินสแตนซ์ของ AddOnAttachmentStudentSubmission พร้อมค่าที่แก้ไข ตั้งค่าช่อง pointsEarned เพื่อแก้ไขคะแนนของงาน ค่าที่ผ่านใน pointsEarned จะกลายเป็นคะแนนคร่าวๆ ที่ครูจะมองเห็นได้ใน UI ของ Classroom ครูจะแก้ไขคะแนนคร่าวๆ ได้ ก่อนส่งงานคืนให้นักเรียน ดูรายละเอียดเกี่ยวกับวิธีแสดงคะแนนแก่ครูได้ที่ภาพรวมของการให้คะแนนใน UI ของ Classroom

โปรดทราบว่าคุณจะตั้งค่าคะแนนด้วย pointsEarned ได้ก็ต่อเมื่อค่าต่อไปนี้เป็นจริง

  • ไฟล์แนบต้องมีค่า maxPoints เป็นบวก
  • ส่วนเสริมต้องเป็นผู้สร้างไฟล์แนบต้นฉบับ

โปรดทราบด้วยว่า คุณจะแก้ไขค่า maxPoints ของ AddOnAttachment ที่สร้างไว้แล้วได้ด้วยการส่งคำขอ PATCH ไปยังปลายทาง addOnAttachments

ควรกำหนดคะแนนเมื่อใด

คุณจะเลือกได้ว่าจะให้ส่งคะแนนกลับไปที่ Google Classroom เมื่อใด ความแตกต่างที่สำคัญคือคุณจะเลือกเก็บข้อมูลเข้าสู่ระบบของครูหรือไม่ เนื่องจากมีเพียงครูเท่านั้นที่แก้ไขคะแนนได้

มีช่วงเวลาเสริม 2 ช่วงที่คุณอาจส่งคะแนนไปยัง Google Classroom คือเมื่อนักเรียนทำงานเสร็จหรือเมื่อครูเปิดงานของนักเรียนใน iframe การตรวจดูงานของนักเรียน

หากต้องการตั้งค่าคะแนนเมื่อนักเรียนทำงานเสร็จ คุณต้องจัดเก็บข้อมูลเข้าสู่ระบบแบบออฟไลน์ของครู จากนั้นจึงดึงข้อมูลและใช้เพื่อแก้ไขคะแนนเมื่อนักเรียนทำงานเสร็จ วิธีนี้ให้ประโยชน์บางอย่าง ดังต่อไปนี้

  • ให้การอัปเดตคะแนนอย่างราบรื่น ครูไม่จำเป็นต้องดำเนินการใดๆ เป็นพิเศษเพื่อทำให้คะแนนปรากฏใน UI ของ Classroom
  • มอบข้อมูลเชิงลึกแบบเรียลไทม์เกี่ยวกับความคืบหน้าของชั้นเรียนผ่านงาน การตั้งค่าคะแนนเมื่อนักเรียนในไฟล์แนบเสร็จสมบูรณ์ ครูจะเข้าใจ ความเข้าใจของนักเรียนได้โดยไม่ต้องเปิดงานที่ส่งทุกครั้ง

โปรดทราบว่าวิธีนี้ยังใช้วิธีแบบไม่พร้อมกันในการซิงค์เกรดได้ด้วย คุณอาจส่งแบบสำรวจปลายทาง AddOnAttachmentStudentSubmission เป็นระยะๆ เพื่อตรวจหาเมื่อนักเรียนส่งงานแล้ว เมื่อส่งงานแล้ว ให้กำหนดคะแนนของงานโดยใช้ข้อมูลเข้าสู่ระบบที่จัดเก็บไว้

หากไม่ต้องการโหลดข้อมูลเข้าสู่ระบบของครูในระหว่างเซสชันของนักเรียน คุณสามารถใช้ข้อมูลเข้าสู่ระบบของครูที่ใช้งานอยู่เมื่อโหลดงานที่นักเรียนส่งใน iframe งานของนักเรียน แต่การทำเช่นนี้อาจทำให้ผู้ใช้ไม่ราบรื่นเป็นพิเศษ เนื่องจากคะแนนใน UI ของ Classroom จะไม่อัปเดตแบบเรียลไทม์ และครูจะต้องเปิด iframe การรีวิวงานของนักเรียนทุกครั้ง

ตรวจหาการเปลี่ยนแปลงคะแนนของงาน

ครูจะสามารถแก้ไขการตั้งค่าคะแนนใน Classroom หลังจากสร้างงานแล้ว การแก้ไขดังกล่าวอาจรวมถึงสิ่งต่อไปนี้

  • การเปลี่ยนค่าคะแนนที่กำหนด
  • การเปลี่ยนค่า maxPoints ของงาน
  • เปลี่ยนว่าควรให้คะแนนงานเลยหรือไม่

หากต้องการดูการตั้งค่าการให้คะแนนปัจจุบันของงาน เราขอแนะนำให้ส่งคำขอ GET ไปยังปลายทาง courses.courseWork คำตอบจะมีค่า maxPoints ปัจจุบัน งานที่ไม่ได้ให้คะแนนมีค่า maxPoints ว่างหรือศูนย์

หากคุณส่งคะแนนกลับไปที่ Classroom แล้ว ให้ใช้ปลายทาง courses.courseWork.addOnAttachments.studentSubmissions เพื่อดึงข้อมูลหรือเปลี่ยนคะแนนสำหรับไฟล์แนบของส่วนเสริม ค่าคะแนนจะกำหนดโดยใช้ช่อง pointsEarned พิจารณาตรวจสอบและอัปเดตค่านี้ หากจำเป็น หากผลิตภัณฑ์อนุญาตให้ครูแก้ไขคะแนนของนักเรียนสำหรับกิจกรรมหนึ่งๆ