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

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

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

สร้างไฟล์แนบโดยส่งคำขอ 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 รายการซึ่งมีค่า 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 ปัจจุบัน งานที่ไม่มีคะแนนมีค่า Null หรือ 0 maxPoints

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