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

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

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

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

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

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

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

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

ทำตามขั้นตอนต่อไปนี้เพื่อสร้าง UI คุณขยายเวลาในปฏิทิน ด้วยส่วนเสริมของ Google Workspace ได้โดยทำตามขั้นตอนต่อไปนี้

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

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

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

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

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

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

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

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

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

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

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

อัปเดตกิจกรรมในปฏิทิน

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

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

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

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

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

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

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

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

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