建立 Google 日曆介面

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

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

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

存取外掛程式 UI

Google Workspace 外掛程式可根據開啟方式,定義首頁介面、Google 日曆活動介面、附件選取介面或同時採用以下三種功能:

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

建立外掛程式日曆介面

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

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

日曆首頁

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

或者,在外掛程式資訊清單中新增 calendar.homepageTrigger,提供日曆專屬的首頁。

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

擴充日曆活動介面

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

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

事件物件

當使用者開啟日曆活動時,系統會建立事件物件,並傳遞給 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 的下拉式選單中。