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

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

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

สร้างไฟล์แนบโดยส่งคำขอ 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 ความแตกต่างที่สำคัญคือคุณจะเลือกเก็บข้อมูลเข้าสู่ระบบของครูหรือไม่ เนื่องจากมีเพียงครูเท่านั้นที่จะแก้ไขคะแนนได้

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

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

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

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

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

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

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

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

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

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