Наконец, я обнаружил, что пошло не так после стольких проб и ошибок!
Причина в том, что я объявил переменные массива случайным образом, не следуя порядку столбцов ответов формы.
Проблема с частью -
var [companyName, country, totalEmployees,totalPctWomenEmployees,numberNationality,name1,position1,emailAdd1,linkedin1,funFact1,name2,position2,emailAdd2,linkedin2,gameStage,gameStory] = response.getItemResponses().map(function(f) {return f.getResponse()});
Это на самом деле вытягивать ответы из таблицы, и должны быть исправлены по порядку. Неправильно отображенные значения стали причиной того, что замена текста стала бесполезной. Я исправил порядок в соответствии с ответами формы, и теперь все хорошо.
Очки обучения: если вы поменялись местами с переменными, то response.getItemResponses().map(function(f) {return f.getResponse()}
делает то, что он будет go через ответы формы по столбцам за столбцом по порядку, и он будет отображать содержимое в неправильную переменную. В результате, когда вы позже замените свой текст с помощью body.replaceText('{{Game Stage}}', gameStage)
, может быть вероятность того, что все, что хранится в gameStage
, может быть name1
. Следовательно, замененный текст будет неправильным. И вы будете чесать свою голову, пока она не начнет кровоточить, не зная, почему.
Я увидел комментарий @ Tanaike после того, как нашел ответ, но совершенно точно!