Быстрый старт: создайте надстройку на любом языке программирования

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

Выполните следующие действия, чтобы создать простую надстройку Google Workspace в Google Cloud Functions без использования Apps Script.

Прежде чем вы начнете

Для этого быстрого старта требуется:

Шаг 1. Создайте облачную функцию Google

  1. Включите облачные функции, облачную сборку и 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 с указанным ниже исходным кодом, используя URL-адрес развернутой функции:

    {
      "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 — это идентификатор проекта, который вы использовали для быстрого запуска. Идентификатор проекта можно найти на странице Dashboard в Google Cloud Console.