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