Скрипт Google Apps - параметры запроса из формы открытия, переданные при отправке - PullRequest
0 голосов
/ 16 февраля 2019

Текущая ситуация

У меня есть веб-приложение с примером URL, который выглядит следующим образом

https://script.google.com/a/domain.com/macros/s/Adlksjflf09_LEg8kdlf9/exec?ID=1

Это веб-приложение имеет функцию doGet(e), которая перенаправляетэто к URL-адресу формы Google.Используя приведенный выше пример, это выглядело бы так:

https://docs.google.com/forms/d/e/1FAIpQLSfi8jWUK2N4y03N4YYJ9p8Cyr2x06b1C6WgS_TcV98WM_ACtQ/viewform?ID=1

Это поле идентификатора не заполняет ни один из вопросов в форме Google.По сути, он предназначен для хранения информации.

Когда пользователь отправляет ответ формы, я объединяю информацию из параметров запроса, а также ответ формы и отправляю его в качестве полезной нагрузки на URL-адрес webhook.

Как я могу это сделать, используя CacheService.Когда пользователь открывает первый URL-адрес, функция doGet(e) сохраняет e.queryString как Hash в кэше.Затем, когда пользователь отправляет форму, я могу получить информацию из кэша и объединить ее с formResponse.

Проблема, с которой я столкнулся, связана с параллелизмом.Будет случай, когда более одного пользователя открыли первый URL.Это приводит к перезаписи Hash['queryString'] в кеше, а это не то, что мне нужно.

Актуальный вопрос

Есть ли способ получить параметры запроса из onFormSubmitиз формы и объединить его с ответом формы без использования CacheService, поскольку мое текущее решение не поддерживает параллелизм?

Насколько я понимаю, триггер onFormSubmit не имеет e (переменная события) для меня сделать что-то вроде e.queryString, чтобы получить параметры запроса.Я могу ошибаться, нужно, чтобы кто-то подтвердил.

ИЛИ

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

...