В течение последних нескольких лет мы использовали скрипт Google Apps с Сайтами Google и Google drive для проведения ежегодной встречи нескольких сотен делегатов. Это G-suite для некоммерческого домена, которым мы владеем.
Я думаю, что Google, возможно, что-то изменил, так как код, который работал в прошлом году, не работает в этом году.
Проблема у меня возникает, когда я пытаюсь отправить форму с помощью кода из скрипта Apps. Если форма настроена на сбор сообщений электронной почты пользователей для ответов, то при попытке отправки с помощью скрипта приложений происходит сбой с ошибкой:
"Извините, ответ на форму не может быть отправлен. Пожалуйста, подождите несколько минут и повторите попытку."
Ошибка указывает на строку «отправить» в коде. ИЛИ иногда код выполняется, но все равно ничего не появляется на листе или в «ответах» в самой форме.
Если я отключаю опцию сбора электронной почты, она работает нормально, и я вижу отправку в листе Google, просто без адреса электронной почты.
Я настроил тестовую форму, прикрепил ее к новому листу Google для ответов и вставил в свой код:
function codeVoteDoVoteByForm()
{
// Get the Yes/No Google form
var myForm = FormApp.openById('1eJ6Wu63lXHkPMsIUPS5ZIAmZ_hGg18XAFLD5QpvqSSU')
// Get a list of questions on it
var questions = myForm.getItems()
// Get question 0 (only one on this form) and mark it as multiple choice
var qt = questions[0].asMultipleChoiceItem()
// Set the users vote
var qr = qt.createResponse("I am here")
//Create the response
var FormResponse = myForm.createResponse()
var testemail = FormResponse.getRespondentEmail()
// Submit the response
FormResponse.withItemResponse( qr );
var myResponse = FormResponse.submit()
var responseString = myResponse.getTimestamp()
return "Vote recorded at " + responseString
}
Я думал, что Google что-то изменил, поэтому теперь, когда запускается скрипт, он не может получить адрес электронной почты пользователя для формы ответа, но я не могу найти документацию, подтверждающую это.
Есть мысли?