Создайте надстройки Google Workspace в Cloud Functions, используя среду выполнения Node.js.
Цели
- Настройте свою среду.
- Создайте и разверните облачную функцию.
- Создайте и разверните надстройку.
- Установите дополнение.
Предварительные условия
- Проект Google Cloud .
- Убедитесь, что вы включили оплату для своего облачного проекта. Узнайте, как проверить статус выставления счетов ваших проектов .
- Cloud SDK, настроенный с помощью проекта Cloud.
Настройте свою среду
Откройте свой облачный проект в консоли Google Cloud.
- В консоли Google Cloud перейдите на страницу «Выбор проекта» .
- Выберите проект Google Cloud, который вы хотите использовать. Или нажмите «Создать проект» и следуйте инструкциям на экране. Если вы создаете проект Google Cloud, вам может потребоваться включить для него оплату .
Настройка экрана согласия OAuth
Для надстроек Google Workspace требуется настройка экрана согласия. Настройка экрана согласия OAuth вашего дополнения определяет, что Google отображает пользователям.
- В консоли Google Cloud выберите > API и службы > Экран согласия OAuth .
- В качестве типа пользователя выберите «Внутренний» , затем нажмите « Создать» .
- Заполните форму регистрации приложения, затем нажмите «Сохранить и продолжить» .
На данный момент вы можете пропустить добавление областей и нажать «Сохранить и продолжить» . В будущем, когда вы создадите приложение для использования за пределами вашей организации Google Workspace, вам необходимо изменить тип пользователя на Внешний , а затем добавить области авторизации, необходимые вашему приложению.
- Просмотрите сводку регистрации приложения. Чтобы внести изменения, нажмите «Изменить» . Если регистрация приложения выглядит нормально, нажмите «Вернуться на панель управления» .
Создайте и разверните облачную функцию
В локальном терминале включите Cloud Functions, Cloud Build и API надстроек Google Workspace:
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
Получите URL-адрес развернутой функции. Чтобы получить URL-адрес, выполните следующую команду и найдите поле
url
в разделеhttpsTrigger
:gcloud functions describe loadHomePage
Создайте файл
deployment.json
используя следующий пример кода. ЗаменитеURL
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 можно найти в консоли Google Cloud на странице Dashboard .
Следующие шаги
Чтобы добавить больше функций в надстройку Google Workspace, обратитесь к следующим руководствам:
- Создайте надстройку на любом языке программирования.
- Предварительный просмотр ссылок со смарт-чипами