Vi este [video][1] de YouTube que está en hindi. No entiendo lo que dice pero a ver que hace y que funciona. Así que traté de replicar para obtener el mismo resultado: que la página de confirmación de un formulario de Google mostrara la fecha y la hora. De hecho, prefiero obtener la marca de tiempo de envío, pero tal vez no importe. [1]: https://www.youtube.com/watch?v=oC4Os1N5Tjs
Así que escribí esto en Apps Script, copiándolo directamente del video (que se muestra en el minuto 9:40 del tiempo de ejecución):
function confirmationPage1() { let form = FormApp.openById("1fbdR0F8zBFyn_oz1P4uSdRUBzEAp3EsfemB44LiDaXE"); let date = Utilities.formatDate(new Date(),Session.getScriptTimeZone(), "yyyy-MM-dd HH:mm:ss"); Logger.log(date) form.setConfirmationMessage() }Esto no funciona, y no me dice el motivo: "otro error". Así que probé algo más usando un método que funciona para generar un correo electrónico que incluye la marca de tiempo, como este:
function confirmationPage2(e) { var formResponse = e.response; var date = e.response.getTimestamp().toString().substring(0, 24); let form = FormApp.openById("1fbdR0F8zBFyn_oz1P4uSdRUBzEAp3EsfemB44LiDaXE"); Logger.log(date) form.setConfirmationMessage() }Nuevamente, el mismo resultado: no funciona. Cualquier ayuda, ¡muy apreciada!
Bonificación: al final, no solo quiero mostrar la marca de tiempo en la página de confirmación, sino un enlace que incluya la marca de tiempo (un enlace a otro formulario de Google que está precargado con la marca de tiempo de este, para saber qué encuestado continuó con el siguiente, pero esto no debería ser difícil, si logro que muestre la marca de tiempo en primer lugar.
form.setConfirmationMessage()
form.setConfirmationMessage(date)
En cuanto a la segunda secuencia de comandos, agregue un disparador que ejecute la página de confirmationPage2 , Event Source = From Form Event type = on form submit De lo contrario, el tiempo no cambiará para cada envío.