Вы не можете редактировать ошибку ответа при использовании FormResponse.getEditResponseUrl

Я создал форму, в которой отправители не могут редактировать после отправки. Я прикрепил событие on form submit и в этой функции я FormSubmission.getEditResponseUrl() электронной почте значение FormSubmission.getEditResponseUrl() .

function onSubmit(e) {
  MailApp.sendEmail(e.response.getRespondentEmail(), "form test", e.response.getEditResponseUrl());
}

Функция работает - она ​​отправляет письмо с URL. Но когда они нажимают на ссылку, они получают ошибку:

Вы не можете редактировать свой ответ

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

getEditResponseUrl() я понимаю, любой, у кого есть URL-адрес, сгенерированный методом getEditResponseUrl() разрешает им редактировать FormResponse даже если в Form не FormResponse редактирование.

Есть ли что-то, что я делаю не так? Я схожу с ума, глядя на это.

Всего 1 ответ


От # 11 ответа Гуглера на проблему, связанную Аланом Уэллсом

Инженерная команда определила, что основной причиной этой проблемы было преднамеренное изменение работы URL-адресов. Несмотря на то, что мы временно отменили это изменение, мы вскоре вернемся к нему снова.

В частности, сегодня вы можете использовать URL-адрес для редактирования, даже если в форме отключен параметр «Редактировать после отправки». Мы не думаем, что это уважение является намерением владельца формы и внесло изменения, чтобы предотвратить изменения, если этот параметр не был включен.

В нашей первой попытке сделать это изменение мы направили пользователей на пустую страницу редактирования, что сбило с толку и заставило людей предположить, что произошла ошибка. В следующий раз, когда мы перевернем это изменение, мы вместо этого перенаправим пользователей на страницу с ошибкой, которая прояснит ситуацию.

Когда это изменение продвинется вперед, оно, скорее всего, снова сломает некоторые скрипты и надстройки.

Этот же пост включает в себя, что делать:

Есть две вещи, которые можно сделать, чтобы предотвратить это:

1) Включите параметр «Изменить после отправки» вручную на формах, которые вы хотите использовать с этой функцией.
2) В своем коде Apps Script используйте метод setAllowResponseEdits (), чтобы включить этот параметр, когда вы знаете, что ваш код требует его.


Есть идеи?

10000