建構 Google 日曆介面

使用者查看或編輯日曆和日曆活動時,Google Workspace 外掛程式可提供自訂介面。您可以藉此提供額外相關資訊給使用者、自動執行工作,以及將第三方系統連結至 Google 日曆。

為 Google 日曆建構 Google Workspace 外掛程式介面時,您可以提供首頁。你可以為多位主辦人使用相同的網頁,也可以為日曆設計專屬網頁。

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

存取外掛程式 UI

視情況而定,使用者介面可能會以幾種方式顯示。舉例來說,外掛程式可以定義首頁介面、日曆活動介面、附件選取介面,或全部三者:

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

建構外掛程式的日曆介面

請按照下列步驟建構 UI。如要使用 Google Workspace 外掛程式擴充日曆功能,請按照下列步驟操作:

  1. 決定是否要為外掛程式提供日曆專屬的首頁。此外,您也可以決定是否要在使用者編輯日曆活動時提供自訂介面。
  2. 將適當的 addOns.commonaddOns.calendar 欄位新增至外掛程式指令碼專案的資訊清單,包括任何必要的範圍
  3. 如要提供日曆專屬的首頁,請實作 calendar.homepageTrigger 函式來建構這個介面。您也可以選擇使用 common.homepageTrigger 介面,處理多個主機應用程式。
  4. 如果您提供日曆活動介面,請實作 calendar.eventOpenTrigger 函式來建構這個介面。詳情請參閱「擴充日曆活動介面」。
  5. 實作相關聯的回呼函式,以便回應使用者的 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資訊清單欄位設為 WRITEREAD_WRITE。此外,外掛程式也必須具備 https://www.googleapis.com/auth/calendar.addons.current.event.write scope

新增會議解決方案

如果您維護第三方會議系統,可以新增會議解決方案,將該系統與日曆整合。這項功能先前以 Calendar conferencing add-ons 測試版的形式推出。

會議通訊解決方案 代表使用者可附加至日曆活動的第三方會議選項。如要瞭解如何建構可新增會議解決方案的外掛程式,請參閱「第三方會議總覽」說明文件。這類擴充功能不需要建構 UI,新增的解決方案會顯示在日曆活動 UI 的下拉式選單中。