Уровень владения программированием : начинающий
Продолжительность : 5 минут
Тип проекта : Автоматизация с использованием пользовательского меню и триггера, срабатывающего по событию.
Цели
- Поймите, для чего предназначено это решение.
- Разберитесь, что делают службы Apps Script в рамках данного решения.
- Настройте скрипт.
- Запустите скрипт.
Об этом решении
Создайте комплексную систему регистрации на мероприятия. Если у вас приближается мероприятие, например, конференция, вы можете создать новый календарь для конференционных сессий, разработать форму регистрации и автоматически отправлять участникам по электронной почте персонализированные маршруты.


Как это работает
Это решение использует пользовательское меню в Google Sheets для реализации автоматизированной системы регистрации на мероприятия. Скрипт создает календарь с мероприятиями конференции, перечисленными в электронной таблице Sheets. Затем скрипт создает форму со списком мероприятий, на которые могут зарегистрироваться участники. После того, как участники заполнят форму, скрипт добавляет их в календарь мероприятий и отправляет им по электронной почте расписание.
Сервисы Apps Script
Данное решение использует следующие сервисы:
- Сервис электронных таблиц : предоставляет информацию о мероприятии другим сервисам.
- Сервис Google Календарь : создает новый календарь для события, добавляет события в календарь и добавляет участников к событиям, на которые они зарегистрировались.
- Служба свойств : хранит идентификатор календаря, созданного службой календаря. Когда пользователь нажимает кнопку «Настроить конференцию» в пользовательском меню «Конференция» , служба свойств проверяет, настроена ли уже система регистрации на мероприятие, проверяя наличие свойства ID календаря. Это помогает избежать создания дубликатов форм и календарей.
- Сервис Google Forms : создает форму на основе информации из электронной таблицы, позволяющую участникам записываться на сессии.
- Скрипт сервиса : Создает триггер, который срабатывает, когда участник заполняет форму.
- Сервис документов : получает информацию о мероприятиях, на которые зарегистрировался участник, и добавляет список мероприятий в новый документ. Скрипт предоставляет участнику разрешение на редактирование документа.
- Почтовая служба : отправляет участнику по электронной почте документ с программой мероприятия.
Предварительные требования
Для использования этого примера необходимы следующие условия:
- Для работы потребуется учетная запись Google (для учетных записей Google Workspace может потребоваться подтверждение администратора).
- Веб-браузер с доступом в интернет.
Настройте скрипт
Нажмите следующую кнопку, чтобы создать копию электронной таблицы Sheets «Создание списка участников для сессий на конференции» . Проект Apps Script для этого решения прикреплен к электронной таблице:
Нажмите «Конференция» > «Настроить конференцию» . Возможно, потребуется обновить страницу, чтобы появилось это пользовательское меню.
При появлении запроса авторизуйте скрипт. <<../_snippets/oauth.md>>
Нажмите «Конференция» > «Настроить конференцию заново».
Запустите скрипт
- Нажмите «Инструменты» > «Управление формой» > «Перейти к работающей форме» .
- Заполните и отправьте форму.
- Перейдите на calendar.google.com .
- Слева убедитесь, что установлен флажок рядом с пунктом «Календарь конференций» .
- Перейдите к датам мероприятий, на которые вы зарегистрировались, и убедитесь, что вас добавили в список участников.
(Необязательно) Сбросить решение
Если вы хотите повторить попытку или настроить решение для использования собственной информации о событиях, вам необходимо сбросить некоторые параметры, которые были установлены при первом запуске скрипта. Чтобы просмотреть шаги по сбросу решения, нажмите «Сбросить решение» :
Сбросить решение
Шаг 1: Сбросьте свойства сохраненного скрипта.
Если вы попытаетесь запустить скрипт более одного раза, появится сообщение: «Ваша конференция уже создана. Найдите форму регистрации в Google Drive!» Это происходит потому, что после создания календаря конференции его идентификатор сохраняется как свойство скрипта. При запуске скрипт проверяет, существует ли уже свойство идентификатора календаря, и останавливается, если оно существует.
Чтобы удалить существующее свойство ID календаря, выполните следующие действия:
- В электронной таблице нажмите «Расширения» > «Apps Script» .
- В редакторе Apps Script выберите функцию
resetPropertiesиз выпадающего списка и нажмите «Выполнить» .
Шаг 2: Удалите календарь конференции.
При каждом запуске скрипта создаётся новый календарь. Если вы не хотите сохранять исходный созданный календарь, выполните следующие действия:
- Перейдите на calendar.google.com .
- Рядом с пунктом «Календарь конференций» нажмите «Параметры календаря конференций».
> Настройки и общий доступ .
- Перейдите в нижнюю часть настроек и нажмите «Удалить» .
Шаг 3: Удалите триггер отправки формы.
Скрипт создает триггер для отправки форм при каждом запуске. Чтобы избежать множественных триггеров, приводящих к дублированию электронных писем, удалите исходный триггер. Выполните следующие действия:
- В электронной таблице нажмите «Расширения» > «Apps Script» .
- В проекте Apps Script слева нажмите «Триггеры» .
.
- Рядом с кнопкой нажмите «Подробнее».
> Удалить триггер .
Шаг 4: Отмените привязку и удалите форму.
При каждом запуске скрипта создается новая форма. Выполните следующие действия, чтобы отвязать форму от электронной таблицы и удалить ее:
- В электронной таблице щелкните правой кнопкой мыши лист «Ответы на форму» и выберите «Отменить связь формы» > «ОК» .
- Снова щелкните правой кнопкой мыши по листу «Ответы на форму» и выберите «Удалить» > «ОК» .
- Перейдите на сайт forms.google.com .
- Щелкните правой кнопкой мыши по форме конференции и выберите «Удалить» > «Переместить в корзину» .
После сброса настроек решения вы можете добавить свои собственные данные или продолжить использовать примерные данные и снова запустить скрипт.
Просмотрите код
Чтобы просмотреть код Apps Script для этого решения, нажмите «Просмотреть исходный код» :
Просмотреть исходный код
Code.gs
</section>
Авторы
Данный пример поддерживается компанией Google при содействии экспертов-разработчиков Google.