Context
Используя g-suite, у меня есть форма Google, в которой пользователи отправляют информацию на страницу Google. Код, выровненный по листу Google, берет предоставленную информацию и выводит документ Google / PDF. Этот окончательный документ / PDF создается путем копирования шаблона главного документа, слияния / добавления разделов из других документов шаблона и, наконец, поиска и замены ряда полей слияния текста в конечном документе. Неисправная часть кода - это раздел, отвечающий за объединение / добавление разделов из других шаблонов документов, как указано в примере кода.
Код запускается из «триггера». Триггер настроен как:
Выберите источник события: из таблицы
Выберите тип события: в форме отправить
Выпуск
Не внося никаких изменений в код, недавно код перестал работать при запуске из триггера , из-за которого произошла ошибка:
Действие не разрешено (строка 298, файл "")
Фактическая строка кода на 298:
'TargetDocBody.appendParagraph (элемент);'
Я могу успешно запустить соответствующую функцию в редакторе сценариев GAS, выбрав «Выполнить» -> «Выполнить функцию» ->. Функция НЕ запускается при настройке в качестве триггера. Обычно я связываю это с проблемой разрешения, однако даже я, владелец / автор сценария, не могу запустить функцию, когда я отправляю форму. Он работает успешно, как упомянуто выше в редакторе GAS.
Я дал полные разрешения на запись для всех дат шаблонов, каталогов, в которых файлы в конечном итоге сохраняются, разрешение на запись в форму Google, разрешение на запись на листы Google и т. Д., И т. Д., И я все еще не могу обойти 'Действие не допускается при запуске из триггера. Я зарегистрировал активных и эффективных пользователей на неудачи и успехи, и они оба раза показывают одинаковые результаты.
[19-04-24 09: 52: 28: 837 EDT] Активный пользователь: tim_monaco@company.com
[19-04-24 09: 52: 28: 839 ПО ВОСТОЧНОМУ ВРЕМЕНИ] EffectiveUser: tim_monaco@company.com
function MergeSections(ServiceTypeDoc,TargetDocBody)
{
var ServiceTypeDocNumElements = ServiceTypeDoc.getNumChildren();
for(var x =0; x < ServiceTypeDocNumElements; ++x)
{
var element = ServiceTypeDoc.getChild(x).copy();
var type = element.getType();
if(type == DocumentApp.ElementType.PARAGRAPH) //this is the problem line
TargetDocBody.appendParagraph(element);
if(type == DocumentApp.ElementType.LIST_ITEM)
TargetDocBody.appendListItem(element);
if(type == DocumentApp.ElementType.FOOTER_SECTION)
TargetDocBody.appendFooterSection(element);
}
}
Функция должна / работала без проблем в прошлом. Без изменений кода я бы ожидал того же.
Фактические результаты являются неудачей и прекращают выполнение в середине
Действие не разрешено (строка 298, файл "")
Фактическая строка кода на 298:
'TargetDocBody.appendParagraph (элемент);' * * тысяча двадцать-два