การสร้างอินเทอร์เฟซ 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. ใช้ฟังก์ชัน Callback ที่เชื่อมโยงกันซึ่งจําเป็นต่อการตอบสนองต่อการโต้ตอบ 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 มักใช้เพื่อดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้

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

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

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

แล้ว

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