如果您已建立並發布可擴充 Gmail 或 Google 日曆的擴充功能,可以將其升級為 Google Workspace 擴充功能。本頁的操作說明會詳細說明如何在現有的 Gmail 或日曆外掛程式中新增 Google Workspace 功能,然後發布升級後的外掛程式,以便使用者發現並安裝。
您可以將新功能轉移至原始外掛程式,保留 Google Workspace Marketplace 商店資訊、安裝和使用者。升級後,您還可以使用新的 Google Workspace 外掛程式功能,例如首頁。
步驟 1:複製外掛程式的 Apps Script 專案
升級後的外掛程式會使用與發布外掛程式相同的 Google Cloud 專案,但請務必建立並使用基礎 Apps Script 專案的副本,以便在測試升級版時,不影響現有使用者。升級原始指令碼專案的副本,也表示您隨時可以存取原始程式碼,並在必要時日後重新部署。
- 開啟現有的 Gmail 外掛程式或日曆會議外掛程式 Apps Script 專案。
- 按一下左側的「總覽」圖示 。
- 按一下右側的「建立副本」圖示 。
- 依序按一下左側的「專案設定」>「變更專案」。
- 按一下「GCP 專案編號」。
- 輸入與現有已發布的 Apps Script 外掛程式專案相關聯的專案編號。
- 按一下「設定專案」。
步驟 2:整合 Google Workspace 外掛程式
您必須設計並實作要新增至外掛程式的任何 Google Workspace 外掛程式功能。
- 請規劃要顯示在外掛程式的首頁資訊卡中的內容,以及這些資訊卡是否應顯示在 Gmail、日曆、雲端硬碟或這三個主機的任何組合中。如果想在多個主機中使用同一個首頁,請決定是否要使用同一個首頁,或是為每個主機使用自訂首頁資訊卡。
- 在複製的外掛程式 Apps Script 專案中,使用
homepageTrigger
函式建立首頁資訊卡。請務必加入控制新首頁介面所需的所有支援函式或邏輯。 建議您加入由使用者動作觸發的內容卡片,例如開啟 Gmail 訊息會話串或日曆活動。
更新外掛程式中 (在小工具回呼函式或內容觸發函式中) 的任何 事件物件存取方式,以便使用更新的事件物件結構。新結構體仍包含 Gmail 和日曆會議外掛程式使用的相同事件物件欄位,但這些原始欄位已淘汰,並會在日後移除。
步驟 3:更新外掛程式的資訊清單
在 Google Workspace 外掛程式的資訊清單結構中儲存設定資訊的方式,與 Gmail 外掛程式和日曆會議外掛程式使用的結構有顯著差異。升級外掛程式時,您必須根據下表更新外掛程式的 Apps Script 專案資訊清單欄位。您必須將所有相關子資源更新為新的 addOns
資源。
請務必視需要更新資訊清單的 oauthScopes
欄位,反映更新後外掛程式所需的權限。
如要進一步瞭解 Google Workspace 外掛程式資訊清單,請參閱「資訊清單」。
Gmail 外掛程式
原始資訊清單欄位 | 敬請採取行動 |
---|---|
gmail.composeTrigger |
移至 addOns.gmail.composeTrigger 。 |
gmail.contextualTriggers[] |
將清單移至 addOns.gmail.contextualTriggers[] 。 |
gmail.logoUrl |
移至 addOns.common.logoUrl 。 |
gmail.name |
移至 addOns.common.name 。 |
gmail.openLinkUrlPrefixes[] |
將清單移至 addOns.common.openLinkUrlPrefixes[] 。
|
gmail.primaryColor |
移至 addOns.common.layoutProperties.primaryColor 。 |
gmail.secondaryColor |
移至 addOns.common.layoutProperties.secondaryColor 。
|
gmail.universalActions[] |
將清單移至 addOns.common.universalActions[] 。 |
gmail.universalActions[].text |
將每個 gmail.universalActions[].text 欄位移至對應的 addOns.common.universalActions[].label 欄位。 |
gmail.useLocalFromApp |
移至 addOns.common.useLocaleFromApp 。 |
Google 日曆會議外掛程式
原始資訊清單欄位 | 敬請採取行動 |
---|---|
calendar.createSettingsUrlFunction |
移至 addOns.calendar.createSettingsUrlFunction 。 |
calendar.conferenceSolution[] |
移至 addOns.calendar.conferenceSolution[] 。 |
calendar.logoUrl |
移至 addOns.common.logoUrl 。 |
calendar.name |
移至 addOns.common.name 。 |
步驟 4:測試升級後的外掛程式
如要在發布前測試已升級的外掛程式,請參閱「測試 Google Workspace 外掛程式」。
步驟 5:要求審查已升級的外掛程式
無論是升級版外掛程式,還是從頭建構的外掛程式,都必須經過核准,才能在 Google Workspace Marketplace 中列出。
如要將外掛程式送交審查,請按照下列步驟操作:
請確認外掛程式符合所有外掛程式發布規定。
使用您要發布的程式碼版本,建立 Google Workspace 外掛程式 (在新 Apps Script 專案中) 的版本部署作業。請勿嘗試使用主部署發布。
如果您在升級外掛程式時新增範圍,則必須要求 OAuth 驗證。舉例來說,如果 Gmail 外掛程式在 Google Workspace 外掛程式版本中使用新的雲端硬碟或日曆範圍,您必須提交這些新範圍進行驗證。驗證程序通常需要幾天才能完成,因此請盡早開始這項程序。請先確認外掛程式已通過驗證,再繼續執行步驟 6。
步驟 6:提供升級版外掛程式
開啟 Google Workspace Marketplace SDK。
按一下左側的「設定」,這個面板包含表單,可讓您提供外掛程式的相關資訊。
更新資訊的簡短說明、詳細說明和螢幕截圖,以反映 Google Workspace 外掛程式的新功能。
在「Extensions」下方,按一下「Upgrade to Google Workspace add-on」按鈕。在隨即顯示的文字方塊中,輸入您在上一個步驟中為 Google Workspace 外掛程式建立的新部署 ID。如果部署 ID 有效,系統會顯示支援的主機清單。
如果您已在 Google Workspace 外掛程式中新增範圍,請務必將這些範圍新增至「設定」頁面中的「OAuth 2.0 範圍」部分。該部分列出的範圍應與外掛程式資訊清單中的範圍完全一致。
請確認您在表單中輸入的資訊正確無誤。然後按一下「儲存變更」。
如果您對 Google Workspace 外掛程式升級程序有任何疑問,或在過程中遇到問題,請與我們聯絡。
常見問題
以下是關於加購升級的常見問題:
我可以升級編輯器外掛程式嗎?
大部分的 Google 編輯器外掛程式都能移至 Google Workspace 外掛程式。不過,這些外掛程式無法像 Gmail 和 Google 日曆的外掛程式一樣,輕鬆升級為 Google Workspace 外掛程式。
如果您想將編輯器外掛程式遷移至 Google Workspace 外掛程式,請將外掛程式的 UI 從 HTML 重寫為以資訊卡為基礎的介面,並將 JavaScript 處理方式更新為 資訊卡服務。
您現有編輯器外掛程式中的部分服務可能無法在卡片服務中使用。舉例來說,如果編輯器外掛程式包含檔案挑選器,則 Google Workspace 外掛程式的資訊卡服務並未提供同等功能。
我可以建立個別的 Google Workspace 外掛程式,並保留現有的外掛程式嗎?
您可以使用不同的品牌名稱建立其他 Google Workspace 外掛程式,但我們不允許使用與 Google Workspace 外掛程式相同的品牌名稱建立其他 Gmail 或日曆會議通訊外掛程式。如有任何疑問或想申請例外狀況,請與我們聯絡。
使用者是否需要在外掛程式升級後重新授權?
只要 Google Workspace 外掛程式使用相同的基礎 Cloud Platform (GCP) 專案,並且有相關聯的 OAuth 用戶端 ID,使用者就不需要重新授權,因為他們先前已針對原始外掛程式授予權限。不過,如果您在升級程序中新增新的範圍,使用者第一次使用 Google Workspace 版本的加購外掛程式時,就必須授權這些新的範圍。
我可以將 Chrome 擴充功能升級為 Google Workspace 外掛程式,並轉移使用者嗎?
否。您無法轉移 Chrome 擴充功能的使用者、安裝次數和商店評論。您必須建立新的 Google Workspace 外掛程式,並將 Chrome 擴充功能的使用者導向 Google Workspace Marketplace。
我可以將多個外掛程式與 Google Workspace 外掛程式組合嗎?
請參閱「一併列出應用程式整合功能」。