建立 Google 日曆介面

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

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

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

存取外掛程式 UI

視開啟方式而定,Google Workspace 外掛程式可定義首頁介面、Google 日曆活動介面、附件選取介面,或三者皆可:

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

建構日曆外掛程式介面

您可以按照下列步驟,使用 Google Workspace 外掛程式擴充 Google 日曆功能:

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

日曆首頁

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

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

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

擴充日曆活動介面

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

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

事件物件

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

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

更新日曆活動

除了在使用者開啟日曆活動進行編輯時觸發的內容相關 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 的下拉式選單中顯示為選項。