建立 Google 日曆介面

當使用者正在檢視或編輯日曆和日曆活動時,Google Workspace 外掛程式可以提供自訂介面。這可讓您為使用者提供其他相關資訊、自動執行工作,以及將第三方系統連結至 Google 日曆。

建構 Google 日曆外掛程式介面時,您可以提供首頁。您可以使用多個主機相同的首頁,也可以設計特定的 Google 日曆首頁。

這個外掛程式也可以定義使用者開啟 Google 日曆活動時顯示的介面。

存取外掛程式 UI

視開啟方式而定,Google Workspace 外掛程式可以定義首頁介面、Google 日曆活動介面、附件選取介面,或同時定義全部三種:

  • 如果使用者在日曆檢視畫面中點選外掛程式圖示,外掛程式就會執行對應的 calendar.homepageTrigger 函式 (如有)。這個函式會建構首頁資訊卡,並傳回至日曆以顯示。如未定義 calendar.homepageTrigger 函式,系統會改為顯示一般首頁資訊卡。
  • 如果使用者開啟日曆活動後點選外掛程式圖示,或是外掛程式在使用者開啟活動時開啟,外掛程式就會執行對應的 eventOpenTrigger 函式 (如有)。這個函式會建構外掛程式的日曆活動介面,並傳回至 Google 日曆以顯示。
  • 如果外掛程式定義了 eventAttachmentTrigger 函式,當使用者在編輯日曆活動時點選「新增附件」時,這個外掛程式就會顯示為附件供應器。選取外掛程式後,eventAttachmentTrigger 函式會建構外掛程式的附件選取介面,並將其傳回 Google 日曆以供顯示。

建構外掛程式的日曆介面

您可以透過 Google Workspace 外掛程式擴充 Google 日曆,步驟如下:

  1. 決定是否要讓外掛程式具有 Google 日曆專屬的首頁。同時決定是否要在使用者編輯日曆活動時提供自訂介面。
  2. 將適當的 addOns.commonaddOns.calendar 欄位新增至外掛程式指令碼專案資訊清單,包括所需的任何範圍
  3. 如果要提供 Google 日曆專屬的首頁,請實作 calendar.homepageTrigger 函式以建構這個介面。您也可以選擇針對多個 Google Workspace 主機使用 common.homepageTrigger 介面。
  4. 如果要提供日曆活動介面,必須實作 calendar.eventOpenTrigger 函式以建構這個介面。詳情請參閱「擴充日曆活動介面」。
  5. 實作回應使用者 UI 互動 (例如按鈕點選動作) 所需的相關回呼函式。

日曆首頁

Google 日曆支援顯示 Google Workspace 外掛程式首頁。如要在 Google 日曆中顯示外掛程式的通用首頁,只要確認外掛程式資訊清單中有 addOns.calendar 欄位即可。

您也可以在外掛程式資訊清單中加入 calendar.homepageTrigger,提供 Google 日曆專用的首頁。

無論是哪一種情況,您都必須在外掛程式的指令碼專案中提供首頁觸發條件函式的名稱。需要時,系統會自動呼叫此函式,以建立 Google 日曆首頁。您必須實作這個函式,才能建構並傳回構成首頁的單一 CardCard 物件的陣列。首頁觸發條件函式會以參數形式傳遞事件物件,其中包含一些一般資訊 (例如用戶端的平台)。您可以使用事件物件資料來調整首頁的建構方式。

擴充日曆活動介面

Google 日曆會利用內容相關觸發條件,判斷使用者編輯日曆活動時要顯示的介面 (如有)。觸發條件啟動時,會執行外掛程式資訊清單calendar.eventOpenTrigger 欄位指定的內容相關觸發條件函式。

您必須實作 calendar.eventOpenTrigger 欄位中命名的函式。這個函式接受事件物件做為引數,且必須傳回單一 Card 物件或 Card 物件的陣列,以供 Google 日曆在使用者開啟活動時顯示。

事件物件

系統會建立事件物件,並在使用者開啟日曆活動時傳送至 calendar.eventOpenTrigger 內容相關觸發條件函式。觸發條件函式可以使用這個事件物件中的資訊,決定如何建構外掛程式資訊卡或控制外掛程式行為。此外,當使用者首次開啟外掛程式,以及點選或選取互動式小工具時,系統也會建立事件物件並傳遞至 homepageTrigger 函式。

如要瞭解事件物件的完整結構,請參閱「事件物件」一文。如果 Google 日曆是外掛程式的操作主機應用程式,比對內容觸發條件和小工具互動事件物件會包含「日曆活動物件」欄位,其中含有 Google 日曆專屬用戶端資訊。

更新日曆活動

除了在使用者開啟用於編輯的日曆活動時觸發的情境式 calendar.eventOpenTrigger,您也可以定義在使用者更新並儲存日曆活動時觸發的 calendar.eventUpdateTrigger。只有在使用者進行以下一或多項編輯時,這個觸發條件才會啟動:

  • 新增一或多位參與者。
  • 移除一或多位參與者。
  • 新增或改用其他會議解決方案。

當這個觸發條件啟動時,就會執行 calendar.eventUpdateTrigger 資訊清單欄位指定的觸發函式。這個函式會在儲存日曆活動編輯之前執行。

calendar.eventUpdateTrigger 通常用於執行下列一或多項操作:

  • 根據使用者對日曆活動所做的變更,更新外掛程式的日曆活動介面。
  • 將日曆活動資料與第三方系統同步處理,例如與 Google 日曆連線的會議系統。

如果您需要使用外掛程式調整日曆活動的資料 (例如參與者名單),請務必將外掛程式 calendar.currentEventAccess 資訊清單欄位設為 WRITEREAD_WRITE。這也需要外掛程式具有 https://www.googleapis.com/auth/calendar.addons.current.event.write 範圍

新增會議解決方案

會議解決方案代表使用者可以附加到 Google 日曆活動的第三方會議選項。如要進一步瞭解如何建構外掛程式來新增會議解決方案,請參閱「第三方會議總覽」說明文件。您不必為這類擴充功能建構 UI;新增的解決方案只會以選項形式顯示在 Google 日曆活動 UI 的下拉式選單中。