快速入門導覽課程:使用任何程式設計語言建立外掛程式

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

在 Cloud Functions 中建立 Google Workspace 外掛程式,不必使用 Apps Script。

目標

  • 建立 Cloud 函式。
  • 呼叫 Google 來叫用外掛程式。
  • 建立外掛程式部署作業。
  • 安裝外掛程式。

必要條件

建立 Cloud Function

  1. 在本機終端機中啟用 Cloud Functions、Cloud Build 和 Add-ons API:

    gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
    
  2. 在空白目錄中,使用以下程式碼範例建立 function.js 檔案:

    /**
     * Google 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"
                         }
                      }
                    ]
                  }
                ]
              }
            }
          ]
        }
      };
    }
    
  3. 部署函式:

    gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
    
  4. 確認函式已部署:

    gcloud functions call loadHomePage
    

呼叫 Google 叫用外掛程式

  1. 找出外掛程式的服務帳戶電子郵件地址:

    gcloud workspace-add-ons get-authorization
    
  2. cloudfunctions.invoker 角色授予服務帳戶:

    gcloud functions add-iam-policy-binding loadHomePage \
        --role roles/cloudfunctions.invoker \
        --member serviceAccount:SERVICE_ACCOUNT_EMAIL
    

建立外掛程式部署作業

  1. 取得已部署函式的網址:

    gcloud functions describe loadHomePage
    
  2. 使用下列程式碼範例建立 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": {}
      }
    }
    
  3. 建立部署作業:

    gcloud workspace-add-ons deployments create quickstart \
        --deployment-file=deployment.json
    

安裝外掛程式

  1. 在開發模式中安裝部署作業:

    gcloud workspace-add-ons deployments install quickstart
    
  2. 如要查看或外掛程式,請開啟或重新載入 Gmail。在右側工具列中,尋找燒杯圖示。

  3. 按一下圖示即可開啟外掛程式。

清除所用資源

  1. 將外掛程式從 Google 帳戶中解除安裝:

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. 如要避免產生本快速入門導覽課程所用資源的費用,請刪除專案:

    gcloud projects delete PROJECT_ID
    

    PROJECT_ID 替換成您在快速入門導覽課程中使用的專案 ID。您可以在 Cloud Console 的「資訊主頁」頁面中找到專案 ID。