快速入门:使用任意编程语言创建插件

Stay organized with collections Save and categorize content based on your preferences.

您可以按照以下步骤在 Google Cloud Functions 中创建一个简单的 Google Workspace 插件,而无需使用 Apps 脚本。

准备工作

本快速入门要求:

第 1 步:创建 Google Cloud Functions 函数

  1. 启用 Cloud Functions、Cloud Build 和 Add-ons API:

    gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
    
  2. 创建包含以下源代码的文件 functions.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 nodejs10 --trigger-http
    
  4. 验证函数是否已部署:

    gcloud functions call loadHomePage
    

第 2 步:授权 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
    

第 3 步:创建插件部署

  1. 使用已部署函数的网址创建具有以下源代码的文件 deployment.json

    {
      "oauthScopes": ["https://www.googleapis.com/auth/gmail.addons.execute"],
      "addOns": {
        "common": {
          "name": "My HTTP Add-on",
          "logoUrl": "https://github.com/webdog/octicons-png/raw/master/black/beaker.png",
          "homepageTrigger": {
            "runFunction": "URL"
          }
        },
        "gmail": {},
        "drive": {},
        "calendar": {},
        "docs": {},
        "sheets": {},
        "slides": {}
      }
    }
    
  2. 创建部署:

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

第 4 步:安装插件

  1. 在开发模式下安装部署:

    gcloud workspace-add-ons deployments install quickstart
    
  2. 打开或重新加载 Gmail 以查看插件。在右侧的工具栏中,查找烧杯图标。

  3. 点击该图标即可打开该插件。

第 5 步:清理

  1. 从您的 Google 帐号中卸载该插件:

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. 为避免本快速入门中使用的资源产生费用,请删除项目:

    gcloud projects delete PROJECT_ID
    

    其中,PROJECT_ID 是您用于快速入门的项目的 ID。您可以在 Google Cloud Console 的“信息中心”页面上找到项目 ID。