Создайте надстройки 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, обратитесь к следующим руководствам:
- Создайте надстройку на любом языке программирования.
- Предварительный просмотр ссылок со смарт-чипами