การสร้างอินเทอร์เฟซ 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 ของส่วนเสริมเพื่อสร้างหน้าแรกสำหรับปฏิทินโดยเฉพาะ

แต่ทั้ง 2 กรณีนี้ คุณต้องระบุชื่อฟังก์ชันทริกเกอร์หน้าแรกในโปรเจ็กต์สคริปต์ของส่วนเสริม ระบบจะเรียกใช้ฟังก์ชันนี้โดยอัตโนมัติเพื่อสร้างหน้าแรกของ 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 ปฏิทิน