使用 Node.js 執行階段,在 Cloud Functions 中建立 Google Workspace 外掛程式。
目標
- 設定環境。
- 建立及部署 Cloud 函式。
- 建立及部署外掛程式。
- 安裝外掛程式。
必要條件
- Google Cloud 專案。
- 請確認您已為 Cloud 專案啟用計費功能。瞭解如何確認專案的計費狀態。
- 已透過 Cloud 專案設定的 Cloud SDK。
設定環境
在 Google Cloud 控制台中開啟 Cloud 專案
- 在 Google Cloud 控制台中,前往「Select a project」頁面。
- 選取要使用的 Google Cloud 專案。或者,您也可以按一下「建立專案」,然後按照畫面上的指示操作。如果您建立 Google Cloud 專案,可能需要為專案啟用計費功能。
設定 OAuth 同意畫面
Google Workspace 外掛程式需要設定同意畫面。設定外掛程式的 OAuth 同意畫面,可定義 Google 向使用者顯示的內容。
- 在 Google Cloud 控制台中,依序前往「選單」>「API 和服務」 >「OAuth 同意畫面」。
- 在「使用者類型」部分,選取「內部」,然後按一下「建立」。
- 填寫應用程式註冊表單,然後按一下「儲存並繼續」。
目前您可以略過新增範圍,直接按一下「儲存並繼續」。日後,如果您建立的應用程式是用於 Google Workspace 機構以外的環境,就必須將使用者類型變更為外部,然後新增應用程式所需的授權範圍。
- 查看應用程式註冊摘要。如要修改資訊,請按一下「編輯」。如果應用程式註冊看起來沒問題,請按一下「Back to Dashboard」。
建立及部署 Cloud 函式
在本機終端機中,啟用 Cloud Functions、Cloud Build 和 Google Workspace 外掛程式 API:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
在空白目錄中,建立含有下列範例程式碼的
function.js
檔案:/** * Cloud Function that loads the homepage for a * Google Workspace Add-on. * * @param {Object} req Request sent from Google * @param {Object} res Response to send back */ exports.loadHomePage = function addonsHomePage (req, res) { res.send(createAction()); }; /** Creates a card with two widgets. */ function createAction() { return { "action": { "navigations": [ { "pushCard": { "header": { "title": "Cats!" }, "sections": [ { "widgets": [ { "textParagraph": { "text": "Your random cat:" } }, { "image": { "imageUrl": "https://cataas.com/cat" } } ] } ] } } ] } }; }
部署函式:
gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
如果出現提示訊息,請指定不允許未經驗證就叫用函式。函式可能需要幾分鐘的時間才能部署。
建立外掛程式部署
找出外掛程式的服務帳戶電子郵件地址:
gcloud workspace-add-ons get-authorization
將
cloudfunctions.invoker
角色授予服務帳戶:gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
取得已部署函式的網址。如要取得網址,請執行下列指令,然後在
httpsTrigger
部分尋找url
欄位:gcloud functions describe loadHomePage
建立包含下列範例程式碼的
deployment.json
檔案。將URL
替換為上一個步驟中部署函式的網址。{ "oauthScopes": ["https://www.googleapis.com/auth/gmail.addons.execute"], "addOns": { "common": { "name": "My HTTP Add-on", "logoUrl": "https://raw.githubusercontent.com/webdog/octicons-png/main/black/beaker.png", "homepageTrigger": { "runFunction": "URL" } }, "gmail": {}, "drive": {}, "calendar": {}, "docs": {}, "sheets": {}, "slides": {} } }
建立部署作業:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
安裝外掛程式
在開發模式下安裝部署作業:
gcloud workspace-add-ons deployments install quickstart
開啟或重新載入 Gmail 即可查看外掛程式。在右側的工具列中,找出燒杯圖示。
按一下圖示即可開啟外掛程式。如果出現提示,請授權使用外掛程式。
選用:清除
如要避免系統向您的帳戶收取費用,請刪除您建立的資源:
從 Google 帳戶中解除安裝外掛程式:
gcloud workspace-add-ons deployments uninstall quickstart
如要避免系統針對您在本快速入門導覽課程中所用資源收取費用,請刪除 Cloud 專案:
gcloud projects delete PROJECT_ID
將 PROJECT_ID 替換為您用於快速入門的 Cloud 專案 ID。您可以在 Google Cloud 控制台的資訊主頁中找到 Cloud 專案 ID。
後續步驟
如要為 Google Workspace 外掛程式新增更多功能,請參閱下列指南: