建立 Google 日曆介面

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

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

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

存取外掛程式 UI

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

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

建構外掛程式的 Google 日曆介面

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

  1. 決定是否要為外掛程式提供日曆專屬的首頁。 此外,您也可以決定是否要在使用者編輯日曆活動時提供自訂介面。
  2. 將適當的 addOns.commonaddOns.calendar 欄位新增至外掛程式指令碼專案的資訊清單,包括任何必要的範圍
  3. 如果您要提供專屬的日曆首頁,請實作 calendar.homepageTrigger 函式來建構這個介面。您也可以選擇使用 common.homepageTrigger 介面,管理多個 Google Workspace 主機。
  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 scope

新增會議解決方案

會議解決方案是第三方會議選項,使用者可將其附加至 Google 日曆活動。「第三方會議總覽」說明文件詳細說明如何建構外掛程式,加入新的會議解決方案。這類擴充功能不需要建構 UI,新增的解決方案只會顯示在 Google 日曆活動 UI 的下拉式選單中。