Проблема с body.replaceText () в Документах Google - PullRequest
0 голосов
/ 05 марта 2020

Я заполняю шаблон Google Do c, основанный на отправке формы Google. После отправки программа копирует шаблон Google Do c, захватывает первый элемент из формы Google, который всегда является именем человека (поскольку это обязательное поле), а затем заменяет {{Name}} в новом файле на введенное имя, используя:

var name = itemResponses[0].getResponse();
body.replaceText('{{Name}}', name);

Это работает правильно. Но затем я перебираю остальную часть ответа элемента, и не все элементы требуются, поэтому я использую таблицу поиска в листе Google . L oop берет идентификатор элемента в ответе элемента и затем ищет текст, который ответ заменит. Затем программа делает:

var textToReplace //this value is from column B in the Google Sheet lookup table
var newText //this value is the entered response from the Google Form
body.replaceText(textToReplace, newText);

Когда я это делаю, я получаю сообщение об ошибке «Исключение: неверный аргумент: searchPattern». Почему эти две функции body.replaceText () отличаются? Они оба находят переменную с двойными скобками в Google do c, но она работает только в одном случае.

И, чтобы было ясно, это ранее работало правильно в течение последних нескольких месяцев и только недавно начал не работать (может гугл что то изменил ??). Моя гипотеза состоит в том, что это связано с шаблоном регулярных выражений в первом параметре replaceText.

1 Ответ

4 голосов
/ 05 марта 2020

Ошибка «searchPattern» является хорошим ключом, при определенных обстоятельствах она говорит нам, что значение «textTopReplace» не является допустимым шаблоном поиска. Поскольку код не изменился, таблица поиска в вашей электронной таблице или поля в форме, вероятно, имеют.

Один из ваших поисков возвращает значение, которое не является допустимым шаблоном поиска. Возможно, он возвращает Null или пустую строку?

Вы можете получить больше информации, используя console.log для записи отладочной информации в интерфейс журнала стекового драйвера, предоставляемый Google, например:

console.log('text to replace: "'+textToReplace+'"'); //this value is from column B in the Google Sheet lookup table
console.log('value: "'+newText+'"'); //this value is the entered response from the Google Form
body.replaceText(textToReplace, newText);

Затем, чтобы просмотреть журналы, выберите «ведение стека» в меню «Просмотр».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...