script google formularios formulario form examples ejemplos datos crear con apps forms google-apps-script google-spreadsheet modification-form

forms - formularios - google form script examples



Google Script en una hoja de cálculo: cree un enlace para modificar la respuesta a través del formulario (1)

Tengo un formulario, vinculado a una hoja de cálculo. En esta hoja de cálculo tengo un script que trabaja en las respuestas del formulario. El script debe generar un correo para el usuario que respondió el formulario y, a veces, le pide que modifique su respuesta. Quiero generar un enlace precompletado (rellenado previamente con la respuesta del usuario), para enviarlo por correo electrónico y permitirle cambiar solo lo que quiero que cambie (no tener que completar todo el formulario nuevamente)

Vi que hay una manera de hacerlo usando la función

getEditResponseUrl() --> var ''responses'' = ''myform''.getResponses(); --> var ''modificationUrl'' = ''responses''[?].getEditResponseUrl()

No sé qué ''respuestas'' de la forma de tomar. (porque tengo menos líneas en mi hoja de cálculo que la cantidad de respuestas de formularios ...

Por favor, ¿hay alguna forma de saber qué respuesta usar para hacer el getEditResponse (usando el tiempo, por ejemplo ...; pero no sé cómo)

Gracias de antemano.


en lugar de utilizar el enlace del formulario a la hoja de cálculo, puede escribir los datos del formulario en la hoja de cálculo. En el objeto proporcionado por el formulario, recuperará su identificación y con su identificación tendrá la capacidad de vincular de manera eficiente la entrada de su hoja de cálculo a su formulario de respuesta.

Puede consultar este ticket para conocer un poco más cómo manejar las respuestas de formulario. Y si necesita información específica (lo hará) sobre cómo manipular la respuesta de un formulario cuando se activa al enviar el formulario, puede verificar este problema .

ejemplo:

// for a form with 2 question named "question 1" and "question 2" function submitFormFunc(e) { var items = e.response.getItemResponses(); var responses={}; for(var i = 0; i< items.length; i++) { responses[items[i].getItem().getTitle()]=items[i].getResponse(); } var responseTable = []; var responseIndex = ["Timestamp","ID","question 1","question 2"]; responseTable.push(e.response.getTimestamp().toString()); responseTable.push(e.response.getId()); responseTable.push(responses["question 1"]); responseTable.push(responses["question 2"]); responseTable.push(FormApp.getActiveForm().getResponse(e.response.getId()).getEditResponseUrl()); SpreadsheetApp.openById("your spreadsheetId").appendRow(responseTable); }