最佳做法

請按照這些外掛程式設計的指南,改善使用者的整體體驗。

一般最佳做法

建議您針對自己開發的所有外掛程式遵循以下最佳做法。

開始之前先決定外掛程式擁有權

外掛程式是由 Apps Script 專案定義,這類專案必須由特定帳戶擁有,或放入共用雲端硬碟中。在編寫外掛程式的程式碼之前,請先決定哪個帳戶應擁有專案,以及哪個帳戶做為發布商。請一併決定要將哪些帳戶當做協作者,並確認這些帳戶有權存取指令碼專案及其相關聯的 Cloud Platform 專案

擴充 Google Workspace,請勿複製

外掛程式旨在為其擴充的 Google Workspace 應用程式提供新功能,或將複雜工作自動化。如果外掛程式只是複製應用程式中既有的功能,或不會對工作流程進行大幅改善的外掛程式,可能無法通過外掛程式審查進行發布。

縮小範圍

明確定義範圍時,請一律選擇最寬鬆的範圍組合。例如,如果外掛程式要求僅需要讀取權限,則請勿在具有 https://www.googleapis.com/auth/calendar 範圍的情況下要求取得使用者日曆的完整存取權。如需唯讀存取權,請使用 https://www.googleapis.com/auth/calendar.readonly 範圍。

避免過度仰賴程式庫

使用 Apps Script 程式庫時,如果所有 Apps Script 程式碼都包含在單一指令碼專案中,則會導致外掛程式執行速度變慢。雖然 Apps Script 程式庫可以在外掛程式中運作,但使用時可能會降低效能。請避免在專案中加入不必要的程式庫,並考慮減少外掛程式依賴的方法。

上述延遲時間僅適用於做為伺服器端程式庫的 Apps Script 專案。您可以自由使用用戶端 JavaScript 程式庫 (例如 jQuery),而且不會發生此延遲情形。

Google Workspace 外掛程式最佳做法

下列最佳做法僅適用於 Google Workspace 外掛程式和卡片服務的使用。

只使用幾張資訊卡

如果外掛程式使用過多卡片,導覽設定會變得複雜且難以管理。

避免過多的衝動,建立非必要的卡片。

使用小工具建立函式

編寫建立 Card 或其他複雜 UI 物件的程式碼時,請考慮將該程式碼放在其專屬函式中。此建立函式只需建構並傳回物件。這可讓您在每次必須重新整理 UI 時快速重新產生該物件。請記得在卡片服務中使用建構工具類別後,呼叫 build()

簡化資訊卡

如果特定資訊卡的小工具過多,它可能會填滿螢幕空間,變得較不實用。雖然大型資訊卡區段顯示為可收合的 UI 元素,但這會對使用者隱藏資訊。請盡可能簡化外掛程式,並提供符合使用者需求而非眾多之處。

使用錯誤資訊卡

針對錯誤狀況建立資訊卡。如果外掛程式產生錯誤,系統應該會顯示一張含有錯誤資訊的資訊卡,並說明如何修正問題。舉例來說,如果您的外掛程式因授權失敗而無法連線至非 Google 服務,系統會顯示資訊卡說明相關資訊,並要求使用者驗證要使用的帳戶資訊。

撰寫測試和測試訊息

建議您完整測試您建立的所有外掛程式。使用測試資料建構卡片和小工具的測試函式,然後驗證物件是否正常建立。

使用動作回呼函式時,您通常必須建構回應物件。您可以使用類似下方的陳述式,驗證回應是否已正確建構:

    Logger.log(response.printJson());

使用「Run」選單,執行直接透過 Apps Script 編輯器建立的測試函式。若外掛程式可以正常運作,請務必安裝未發布的版本,以便進行測試。

針對外掛程式擴充的每個主機應用程式使用合適的測試資料。舉例來說,如果外掛程式擴充 Gmail,您可能需要一些測試電子郵件和郵件 ID,以確保外掛程式能針對不同郵件內容提供預期功能。您可以使用 Gmail API Users.messages.list 方法列出訊息,或是使用 Apps Script 的 Gmail 服務,取得特定郵件的郵件 ID。

日曆會議的最佳做法

如果您的外掛程式已將第三方日曆會議選項整合至 Google 日曆,請按照下列其他最佳做法操作:

保持 onCreateFunction

當使用者嘗試建立該類型的會議解決方案時,系統會同步呼叫您在資訊清單中定義的每個 onCreateFunction。請確保這些函式僅執行建立會議的最低必要作業。在上述函式中執行過多動作會導致外掛程式的使用者體驗變慢。

為會議資料使用適當的「ConferenceData」欄位

建構 ConferenceData 物件時,您可以在其中填入會議的詳細資料 (存取碼、電話號碼、PIN 碼、URI 等)。請務必使用對應的 EntryPoint 欄位當做這項資訊。請勿將這些詳細資料放在 ConferenceData 附註欄位。

不要在 Google 日曆活動中附加會議詳細資料

外掛程式不需要在 Google 日曆活動說明中加入已建立第三方會議的相關資訊。Google 日曆會在必要時自動執行這項作業。