บทนำ

งานใน Classroom เรียกว่ารายการงานของชั้นเรียน ซึ่งดูได้ในหน้างานของชั้นเรียนในหลักสูตร Classroom แม้ว่าจะมีรายการงานของชั้นเรียน 4 ประเภท แต่คู่มือนี้จะเน้นเฉพาะประเภท "งาน" เท่านั้น หากต้องการดูวิธีจัดการงานของชั้นเรียนประเภทอื่นๆ โปรดอ่าน คู่มือ จัดการงานของชั้นเรียน

Google Classroom มี 2 วิธีในการผสานรวมกับเวิร์กโฟลว์ของงาน: ปุ่มแชร์ใน Classroom และ Classroom API ปุ่มแชร์ช่วยให้ผู้ใช้แชร์เนื้อหาเป็นรายการในสตรีมผ่านกล่องโต้ตอบป๊อปอัปของ Classroom ในขณะที่ Classroom API ช่วยให้เวิร์กโฟลว์ของงานตั้งแต่ต้นจนจบ ซึ่งรวมถึงการสร้างงาน การสร้างและจัดการงานที่นักเรียนส่ง และการส่งคะแนนกลับ

ในที่นี้เราจะดูความแตกต่างที่สำคัญระหว่างข้อเสนอทั้ง 2 อย่างสำหรับนักพัฒนาแอป โดยเฉพาะอย่างยิ่ง เราจะดูความแตกต่างในการใช้งานและแต่ละระยะของวงจรของงาน ได้แก่ การสร้างงาน การส่งงานของนักเรียน และการให้คะแนน/ความคิดเห็น

ทำความเข้าใจวงจรของงาน

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

มีขั้นตอนหลักๆ 5 ขั้นตอนที่ควรทราบขณะผสานรวมกับงานใน Classroom

  1. สร้างงาน
  2. แชร์งานกับนักเรียน
  3. นักเรียนทำตามงานที่ได้รับมอบหมาย
  4. นักเรียนส่งงานให้ครู
  5. ครูตรวจสอบและให้คะแนนงาน

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

แผนภาพแสดงขั้นตอน 5 ขั้นตอนในการมอบหมายงาน

การใช้งาน

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

<script src="https://apis.google.com/js/platform.js" async defer></script>
<g:sharetoclassroom url="http://url-to-share" size="32"></g:sharetoclassroom>

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

การสร้างและแชร์งาน

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

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

ข้อเสนอทั้ง 2 อย่างแสดงประเภทโพสต์ทั้งหมดใน Classroom ยกเว้นงานแบบทดสอบ คุณดูข้อมูลสรุปของประเภทโพสต์ทั้งหมดและดูว่ามีการแสดงประเภทโพสต์ใดบ้างได้ที่ด้านล่าง

ประเภทโพสต์ ปุ่มแชร์ CourseWork API
งาน X X
งานแบบทดสอบ
คำถาม: คำตอบสั้นๆ X X
คำถาม: หลายตัวเลือก X X
วัสดุ X X
ประกาศ X X

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

การแก้ไขงาน

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

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

ซิงค์งานโดยอัตโนมัติ

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

การทำและส่งงาน

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

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

การสิ้นสุดเวิร์กโฟลว์ของนักเรียน

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

การตรวจสอบและให้คะแนนงาน

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

ปัจจุบันปุ่มแชร์ไม่มีโซลูชันสำหรับการให้คะแนนและส่งคืนงาน แม้ว่าฟีเจอร์ต่างๆ เช่น ความคิดเห็นในงานที่นักเรียนส่งจะยังไม่แสดงผ่าน API แต่การให้คะแนนและการส่งคะแนนเหล่านั้นคืนให้นักเรียนก็ทำได้ผ่าน ปลายทาง studentSubmissions.patch และ studentSubmissions.return คุณระบุคะแนนได้เฉพาะรายการในสตรีมงานของชั้นเรียน (ประเภทงานและคำถาม) คะแนนจะอยู่ในรูปแบบตัวเลขเท่านั้น และกำหนดเป็นคะแนนฉบับร่างหรือคะแนนสุดท้ายได้

สรุปความแตกต่าง

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

ปุ่มแชร์ CourseWork API
การใช้งาน ใช้ JavaScript เพียงไม่กี่บรรทัด ทำให้การใช้งานตรงไปตรงมาและ รวดเร็ว ต้องตั้งค่าคีย์ API, เปิดใช้ API ในคอนโซลผู้ดูแลระบบ และตรวจสอบอย่างใกล้ชิด
การสร้างและแชร์งาน
  • เปลี่ยนเส้นทางครูไปยังกล่องโต้ตอบการแชร์ปุ่มแชร์ใน Classroom
  • ผู้ใช้โพสต์รายการในสตรีมได้ทุกประเภท ยกเว้น 1 ประเภท
  • ระบุช่องได้น้อยลง
  • สร้างงานได้ แต่ดึงหรือแก้ไขข้อมูลงานไม่ได้
  • ไม่จำเป็นต้องใช้กล่องโต้ตอบปุ่มแชร์
  • ระบุช่องงานส่วนใหญ่ใน Classroom ได้
  • แก้ไขงานของชั้นเรียนที่แอปพลิเคชันของคุณสร้างขึ้นได้
  • อนุญาตให้แอปดึงข้อมูลงานทั้งหมดจาก Classroom ได้
การทำและส่งงาน
  • เปลี่ยนเส้นทางนักเรียนไปยังกล่องโต้ตอบการแชร์ปุ่มแชร์ใน Classroom
  • อนุญาตให้นักเรียนแนบงานที่ส่งกับงานใดก็ได้ใน Classroom
  • แนบงานที่ส่งได้ แต่ดึงหรือแก้ไขข้อมูลงานที่ส่งไม่ได้
  • ไม่อนุญาตให้นักเรียนส่งงาน
  • ไม่จำเป็นต้องใช้กล่องโต้ตอบปุ่มแชร์
  • อนุญาตให้นักเรียนแนบงานที่ส่งกับงานที่แอปของคุณสร้างขึ้นเท่านั้น
  • อนุญาตให้แอปแก้ไขงานที่นักเรียนส่งซึ่งแอปพลิเคชันของคุณสร้างขึ้นได้
  • อนุญาตให้นักเรียนส่งงาน
การตรวจสอบและให้คะแนนงาน ไม่รองรับการระบุหรือส่งคืนคะแนน
  • อนุญาตให้แอปดึงข้อมูลงานทั้งหมดที่นักเรียนส่งจาก Classroom ในนามของครูได้
  • แสดงความสามารถในการกำหนดคะแนนของนักเรียนเป็นฉบับร่างหรือฉบับสุดท้าย
  • แสดงความสามารถในการแก้ไขคะแนนของนักเรียน
  • แสดงความสามารถในการส่งคะแนนคืนให้นักเรียน