使用者查看或編輯日曆和日曆活動時,Google Workspace 外掛程式可提供自訂介面。您可以藉此提供額外相關資訊給使用者、自動執行工作,以及將第三方系統連結至 Google 日曆。
為 Google 日曆建構 Google Workspace 外掛程式介面時,您可以提供首頁。你可以為多位主辦人使用相同的網頁,也可以為日曆設計專屬網頁。
此外,外掛程式也可以定義使用者開啟日曆活動時顯示的介面。
存取外掛程式 UI
視情況而定,使用者介面可能會以幾種方式顯示。舉例來說,外掛程式可以定義首頁介面、日曆活動介面、附件選取介面,或全部三者:
- 如果使用者在日曆檢視畫面中點選外掛程式圖示,外掛程式會執行對應的
calendar.homepageTrigger函式 (如有)。這個函式會建構並傳回首頁資訊卡,供 Google 日曆顯示。如果未定義任何calendar.homepageTrigger函式,系統會改為顯示一般首頁資訊卡。 - 如果使用者開啟日曆活動,然後點選外掛程式圖示,或是在使用者開啟活動時外掛程式已開啟,外掛程式就會執行對應的
eventOpenTrigger函式 (如有)。這個函式會建構外掛程式的日曆活動介面,並傳回日曆以供顯示。 - 如果外掛程式定義了
eventAttachmentTrigger函式,使用者在編輯日曆活動時按一下「新增附件」,外掛程式就會顯示為附件供應商。選取外掛程式後,eventAttachmentTrigger函式會建構外掛程式的附件選取介面,並傳回日曆顯示。
建構外掛程式的日曆介面
請按照下列步驟建構 UI。如要使用 Google Workspace 外掛程式擴充日曆功能,請按照下列步驟操作:
- 決定是否要為外掛程式提供日曆專屬的首頁。此外,您也可以決定是否要在使用者編輯日曆活動時提供自訂介面。
- 將適當的
addOns.common和addOns.calendar欄位新增至外掛程式指令碼專案的資訊清單,包括任何必要的範圍。 - 如要提供日曆專屬的首頁,請實作
calendar.homepageTrigger函式來建構這個介面。您也可以選擇使用common.homepageTrigger介面,處理多個主機應用程式。 - 如果您提供日曆活動介面,請實作
calendar.eventOpenTrigger函式來建構這個介面。詳情請參閱「擴充日曆活動介面」。 - 實作相關聯的回呼函式,以便回應使用者的 UI 互動,例如點選按鈕。
日曆首頁
外掛程式支援顯示 Google Workspace 外掛程式首頁。如要在 Google 日曆中顯示外掛程式的通用首頁,請確保外掛程式資訊清單中有 addOns.calendar 欄位。
或者,您也可以在外掛程式資訊清單中新增
calendar.homepageTrigger
,提供 Google 日曆專屬的首頁。
無論是哪種情況,您都必須在外掛程式的指令碼專案中提供首頁觸發函式的名稱。需要時,系統會自動呼叫這個函式來建構日曆首頁。實作這個函式,即可建構並傳回單一 Card 或一組 Card 物件,組成首頁。首頁觸發函式會將事件物件當做參數傳遞,其中包含用戶端平台等一般資訊。使用活動物件資料,量身打造首頁。
擴充日曆活動介面
日曆會根據情境觸發條件,決定使用者編輯日曆活動時要顯示哪個介面 (如有)。觸發條件觸發時,會執行外掛程式資訊清單中 calendar.eventOpenTrigger 欄位指定的內容相關觸發函式。
實作「calendar.eventOpenTrigger」欄位中指定的函式。這個函式會接受 event 物件做為引數,且必須傳回單一 Card 物件或 Card 物件陣列,供 Google 日曆在使用者開啟活動時顯示。
事件物件
使用者開啟日曆活動時,系統會建立事件物件,並傳遞至calendar.eventOpenTrigger情境觸發函式。觸發函式可以使用這個事件物件中的資訊,判斷如何建構外掛程式資訊卡或控制外掛程式行為。首次開啟外掛程式時,以及使用者點選或選取互動式小工具時,系統也會建立事件物件並傳遞至 homepageTrigger 函式。
如要瞭解事件物件的完整結構,請參閱「事件物件」。如果日曆是外掛程式的實際主機應用程式,情境觸發條件和 Widget 互動事件物件會包含日曆活動物件欄位,其中含有日曆專屬的用戶端資訊。
更新日曆活動
除了在使用者開啟日曆活動進行編輯時觸發的情境式 calendar.eventOpenTrigger,您也可以定義在使用者更新並儲存日曆活動時觸發的 calendar.eventUpdateTrigger。只有在使用者進行下列一或多項編輯時,這個觸發條件才會觸發:
- 新增一或多位出席者。
- 移除一或多位出席者。
- 新增或切換至其他會議解決方案。
觸發條件觸發時,會執行 calendar.eventUpdateTrigger 資訊清單欄位指定的觸發函式。系統會在儲存日曆活動編輯內容前執行函式。
calendar.eventUpdateTrigger
通常用於執行下列一或多項操作:
- 根據使用者對日曆活動所做的變更,更新外掛程式的日曆活動介面。
- 將日曆活動資料與第三方系統同步,例如已連結至日曆的會議系統。
如果外掛程式需要調整日曆活動的資料 (例如參與者名單),請將外掛程式calendar.currentEventAccess資訊清單欄位設為 WRITE 或 READ_WRITE。此外,外掛程式也必須具備 https://www.googleapis.com/auth/calendar.addons.current.event.write
scope。
新增會議解決方案
如果您維護第三方會議系統,可以新增會議解決方案,將該系統與日曆整合。這項功能先前以 Calendar conferencing add-ons 測試版的形式推出。
會議通訊解決方案 代表使用者可附加至日曆活動的第三方會議選項。如要瞭解如何建構可新增會議解決方案的外掛程式,請參閱「第三方會議總覽」說明文件。這類擴充功能不需要建構 UI,新增的解決方案會顯示在日曆活動 UI 的下拉式選單中。