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


Как это работает
Данное решение использует пользовательское меню в Google Sheets для реализации автоматизированной системы регистрации на мероприятия. Скрипт создает календарь с мероприятиями конференции, перечисленными в электронной таблице Sheets. Затем скрипт создает форму со списком мероприятий, на которые могут зарегистрироваться участники. После заполнения формы участники добавляются в календарь и отправляют им по электронной почте расписание мероприятий.
Сервисы Apps Script
Данное решение использует следующие сервисы:
- Сервис электронных таблиц – предоставляет информацию о мероприятии другим сервисам.
- Календарный сервис — создает новый календарь для мероприятия, добавляет мероприятия в календарь и добавляет участников к мероприятиям, на которые они зарегистрировались.
- Служба свойств — хранит идентификатор календаря, созданного службой календаря. Когда пользователь нажимает кнопку «Настроить конференцию» в пользовательском меню «Конференция» , служба свойств проверяет, настроена ли уже система регистрации на мероприятие, проверяя наличие свойства ID календаря. Это помогает избежать создания дубликатов форм и календарей.
- Сервис создания форм – создает форму на основе информации из электронной таблицы, позволяющую участникам записываться на сессии.
- Сервис скриптов — создает триггер, который срабатывает, когда участник заполняет форму.
- Сервис документов — получает информацию о мероприятиях, на которые зарегистрировался участник, и добавляет список мероприятий в новый документ. Скрипт предоставляет участнику разрешение на редактирование документа.
- Почтовая служба – отправляет участнику документ с программой поездки по электронной почте.
Предварительные требования
Для использования этого примера необходимы следующие условия:
- Для работы потребуется учетная запись Google (для учетных записей Google Workspace может потребоваться подтверждение администратора).
- Веб-браузер с доступом в интернет.
Настройте скрипт
- Нажмите следующую кнопку, чтобы создать копию таблицы «Создание списка участников сессий на конференции» . Проект Apps Script для этого решения прикреплен к таблице.
Сделать копию - Нажмите «Конференция» > «Настроить конференцию» . Возможно, потребуется обновить страницу, чтобы появилось это пользовательское меню.
При появлении запроса авторизуйте скрипт. Если на экране согласия OAuth отобразится предупреждение « Это приложение не проверено» , продолжите, выбрав «Дополнительно» > «Перейти к {Название проекта} (небезопасно)» .
Нажмите «Конференция» > «Настроить конференцию заново».
Запустите скрипт
- Нажмите «Инструменты» > «Управление формой» > «Перейти к работающей форме» .
- Заполните и отправьте форму.
- Перейдите на 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
Авторы
Данный пример поддерживается компанией Google при содействии экспертов-разработчиков Google.