Я пытался заставить скрипт приложения выполнить действие после отправки формы Google.
Моя проблема в том, что триггеры работают, только если
- Приложения Скрипт привязан к форме Google
- И триггер создан на этой форме Google, он привязан к
Это не означает, что триггеры не создаются в других сценариях ios. Они просто не стреляют.
Что я пытаюсь сделать, так это заставить скрипт отдельного приложения создать триггер в любой форме. Это делается путем запуска Run> Test as addon и выбора любой формы, которая мне нравится. У меня есть меню, которое открывает диалоговое окно, содержащее мою кнопку, которая запускает google.script.run.withSuccessHandler(function(data) { }).makeTrigger();
Когда я открываю свою панель мониторинга на script.google.com и смотрю на Мои триггеры, она действительно создает их для любая форма, которую я открываю с помощью Test asdon . Они правильно установлены с событием «Из формы - При отправке формы», и когда я открываю меню «Открыть контейнер запуска», он переходит в правильную форму. Но когда я открываю форму и отвечаю, они никогда не запускаются (столбец «Последний выполненный» в «Моих триггерах» остается пустым, а моя конечная точка не получает сообщения).
Они запускаются только при отправке, если вышеупомянутые 2 условия выполнены (я переделал свой скрипт приложения как связанную версию, чтобы проверить это.) Моя связанная версия также не работает, если я использую ее в любой другой форме, кроме той, к которой она привязана - она делает то же самое, создание неуправляемых триггеров.
Code.gs
function formIsSubmitted(e) {
UrlFetchApp.fetch("https://test.free.beeceptor.com", {
'method': 'post',
'payload': 'from apps script'
});
}
function makeTrigger() {
var form = FormApp.getActiveForm();
ScriptApp.newTrigger('formIsSubmitted')
.forForm(form)
.onFormSubmit()
.create();
}
Я разместил свое дополнение в списке для публикации на рынке (ожидая его рассмотрения.) Будет ли это исправить проблема, или я что-то упустил?