การสร้างอินเทอร์เฟซ 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 คน
  • เพิ่มหรือเปลี่ยนไปใช้โซลูชันการประชุมอื่น

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

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

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

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

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

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