การสร้างอินเทอร์เฟซของ Google ปฏิทิน

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

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

นอกจากนี้ส่วนเสริมยังกําหนดอินเทอร์เฟซที่ปรากฏขึ้นเมื่อผู้ใช้เปิดกิจกรรมในปฏิทิน

การเข้าถึง UI ส่วนเสริม

โดยส่วนเสริมของ Google Workspace จะกําหนดอินเทอร์เฟซหน้าแรก อินเทอร์เฟซกิจกรรมของ Google ปฏิทิน อินเทอร์เฟซการเลือกไฟล์แนบ หรือทั้ง 3 แบบได้ โดยขึ้นอยู่กับวิธีที่ส่วนเสริมนี้เปิดอยู่

  • หากผู้ใช้คลิกไอคอนส่วนเสริมขณะอยู่ในมุมมองปฏิทิน ส่วนเสริมจะเรียกใช้ฟังก์ชัน calendar.homepageTrigger ที่เกี่ยวข้อง (หากมี) ฟังก์ชันนี้จะสร้างและส่งคืนการ์ดหน้าแรกไปยังปฏิทินเพื่อแสดง หากไม่มีการกําหนดฟังก์ชัน calendar.homepageTrigger ระบบจะแสดงการ์ดหน้าแรกทั่วไปแทน
  • หากผู้ใช้เปิดกิจกรรมในปฏิทิน แล้วคลิกไอคอนส่วนเสริม หรือส่วนเสริมจะเปิดขึ้นเมื่อผู้ใช้เปิดกิจกรรม ส่วนเสริมจะเรียกใช้ฟังก์ชัน eventOpenTrigger ที่เกี่ยวข้อง (หากมี) ฟังก์ชันนี้จะสร้างอินเทอร์เฟซกิจกรรมในปฏิทินของส่วนเสริมและกลับไปที่ Google ปฏิทินเพื่อแสดง
  • หากส่วนเสริมกําหนดฟังก์ชัน eventAttachmentTrigger ส่วนเสริมจะปรากฏเป็นผู้ให้บริการไฟล์แนบเมื่อผู้ใช้คลิกเพิ่มไฟล์แนบขณะแก้ไขกิจกรรมในปฏิทิน เมื่อเลือกส่วนเสริมแล้ว ฟังก์ชัน eventAttachmentTrigger จะสร้างอินเทอร์เฟซการเลือกไฟล์แนบของส่วนเสริมและกลับไปที่ Google ปฏิทินเพื่อแสดง

การสร้างอินเทอร์เฟซปฏิทินส่วนเสริม

คุณสามารถขยายการใช้งาน Google ปฏิทินด้วยส่วนเสริมของ Google Workspace ได้โดยทําตามขั้นตอนต่อไปนี้

  1. กําหนดว่าคุณต้องการให้ส่วนเสริมมีหน้าแรกเฉพาะปฏิทินหรือไม่ และตัดสินใจว่าคุณต้องการระบุอินเทอร์เฟซที่กําหนดเองขณะที่ผู้ใช้แก้ไขกิจกรรมในปฏิทินหรือไม่
  2. เพิ่มช่อง addOns.common และ addOns.calendar ที่เหมาะสมลงในโครงการไฟล์ Manifest ไฟล์สคริปต์ รวมถึงขอบเขตที่จําเป็น
  3. หากคุณระบุหน้าแรกสําหรับปฏิทินโดยเฉพาะ ให้ใช้ฟังก์ชัน calendar.homepageTrigger เพื่อสร้างอินเทอร์เฟซนี้ นอกจากนี้ คุณยังเลือกใช้อินเทอร์เฟซ common.homepageTrigger สําหรับโฮสต์ของ Google Workspace หลายรายการได้ด้วย
  4. หากระบุอินเทอร์เฟซกิจกรรมในปฏิทิน คุณต้องใช้ฟังก์ชัน calendar.eventOpenTrigger เพื่อสร้างอินเทอร์เฟซนี้ ดูรายละเอียดได้ที่การขยายอินเทอร์เฟซกิจกรรมในปฏิทิน
  5. ใช้ฟังก์ชันเรียกกลับที่เกี่ยวข้องซึ่งจําเป็นสําหรับการโต้ตอบของ UI ของผู้ใช้ เช่น การคลิกปุ่ม

หน้าแรกของปฏิทิน

Google ปฏิทินรองรับการแสดงหน้าแรกของส่วนเสริม Google Workspace หากต้องการแสดงหน้าแรกทั่วไปของส่วนเสริมใน Google ปฏิทิน เพียงตรวจสอบว่ามีช่อง addOns.calendar ในไฟล์ Manifest ของส่วนเสริม

หรือเพิ่ม calendar.homepageTrigger ในไฟล์ Manifest ของส่วนเสริมเพื่อระบุหน้าแรกสําหรับปฏิทินโดยเฉพาะ

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

การขยายอินเทอร์เฟซกิจกรรมในปฏิทิน

Google ปฏิทินจะใช้ทริกเกอร์ตามบริบทเพื่อกําหนดอินเทอร์เฟซที่จะแสดง (หากมี) เมื่อผู้ใช้แก้ไขกิจกรรมในปฏิทิน เมื่อทริกเกอร์เริ่มทํางาน จะเป็นการทริกเกอร์ฟังก์ชันทริกเกอร์ตามบริบทที่ระบุโดยช่อง calendar.eventOpenTrigger ในไฟล์ Manifest ของส่วนเสริม

คุณต้องใช้ฟังก์ชันที่มีชื่อในช่อง calendar.eventOpenTrigger ฟังก์ชันนี้ยอมรับออบเจ็กต์เหตุการณ์เป็นอาร์กิวเมนต์และต้องแสดงออบเจ็กต์ Card รายการเดียวหรืออาร์เรย์ Card ของอาร์เรย์เพื่อให้ปฏิทินแสดงขณะที่ผู้ใช้เปิดกิจกรรม

ออบเจ็กต์เหตุการณ์

ระบบจะสร้างออบเจ็กต์กิจกรรมและส่งไปยังฟังก์ชันทริกเกอร์บริบท calendar.eventOpenTrigger เมื่อผู้ใช้เปิดกิจกรรมในปฏิทิน ฟังก์ชันทริกเกอร์จะใช้ข้อมูลในออบเจ็กต์เหตุการณ์นี้เพื่อกําหนดวิธีสร้างการ์ดส่วนเสริม หรือควบคุมลักษณะการทํางานของส่วนเสริมได้ นอกจากนี้ ออบเจ็กต์เหตุการณ์ยังสร้างขึ้นและส่งไปยัง homepageTrigger ฟังก์ชันต่างๆ เมื่อเปิดส่วนเสริมเป็นครั้งแรก และเมื่อผู้ใช้คลิกหรือเลือก วิดเจ็ตแบบอินเทอร์แอกทีฟ

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

กําลังอัปเดตกิจกรรมในปฏิทิน

นอกจากบริบท calendar.eventOpenTrigger ที่เริ่มทํางานเมื่อผู้ใช้เปิดกิจกรรมในปฏิทินเพื่อแก้ไขแล้ว คุณยังกําหนด calendar.eventUpdateTrigger ที่จะเริ่มทํางานเมื่อผู้ใช้อัปเดตและบันทึกกิจกรรมในปฏิทินได้อีกด้วย ทริกเกอร์นี้จะเริ่มทํางานก็ต่อเมื่อผู้ใช้ทําการแก้ไขต่อไปนี้อย่างน้อย 1 ครั้ง

  • เพิ่มผู้เข้าร่วมอย่างน้อย 1 คน
  • นําผู้เข้าร่วมออกอย่างน้อย 1 คน
  • เพิ่มหรือเปลี่ยนไปใช้โซลูชันการประชุมอื่น

เมื่อทริกเกอร์นี้เริ่มทํางาน ก็จะเรียกใช้ฟังก์ชันทริกเกอร์ที่ระบุโดยช่องไฟล์ Manifest calendar.eventUpdateTrigger ระบบจะดําเนินการฟังก์ชันก่อนที่จะบันทึกการแก้ไขกิจกรรมในปฏิทิน

โดยปกติแล้ว calendar.eventUpdateTrigger จะใช้เพื่อดําเนินการอย่างน้อย 1 อย่างต่อไปนี้

  • อัปเดตอินเทอร์เฟซกิจกรรมในปฏิทินของส่วนเสริมเพื่อตอบสนองต่อการเปลี่ยนแปลงของผู้ใช้ในกิจกรรมในปฏิทิน
  • ซิงค์ข้อมูลกิจกรรมในปฏิทินกับระบบของบุคคลที่สาม เช่น ระบบการประชุมที่เชื่อมต่อกับ Google ปฏิทิน

หากต้องการส่วนเสริมเพื่อแก้ไขข้อมูลกิจกรรมในปฏิทิน (เช่น รายชื่อผู้เข้าร่วม) คุณต้องตั้งค่าช่องไฟล์ Manifest ของ calendar.currentEventAccess เป็น WRITE หรือ READ_WRITE และต้องใช้ส่วนเสริมสําหรับhttps://www.googleapis.com/auth/calendar.addons.current.event.writeขอบเขตด้วย

การเพิ่มโซลูชันการประชุม

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