Cargando preguntas...
la carpeta de drive en la que se guarda el doc con las respuestas es https://drive.google.com/drive/folders/1iQMfqoLcxGLKF-_Cw2UMGVQP1DQJHzug
el archivo de excel en donde se registran las respuestas es: https://docs.google.com/spreadsheets/d/1bdQNb7vRO3WDpeFQyE__ARz8y2YOIaA3F1RygkzFLMY/edit?gid=0#gid=0

código usado en el appscript

function doGet(e) { try { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Preguntas"); if (!sheet) { return error("No existe la hoja 'Preguntas'"); } const lastColumn = sheet.getLastColumn(); const data = sheet.getRange(1, 1, 1, lastColumn).getValues()[0]; const preguntas = data .filter(p => p && p.toString().trim() !== "") .map(p => ({ Pregunta: p.toString() })); return ok(preguntas); } catch (err) { Logger.log(err); return error(err.toString()); } } function doPost(e) { try { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Preguntas"); if (!sheet) { return error("No existe la hoja 'Preguntas'"); } if (!e.postData || !e.postData.contents) { return error("No se recibieron datos"); } const data = JSON.parse(e.postData.contents); if (!data.respuestas || !Array.isArray(data.respuestas)) { return error("Formato inválido"); } // 🔥 1. GUARDAR EN SHEETS const fila = data.respuestas.map(item => item.respuesta || ""); sheet.appendRow(fila); // 🔥 2. CREAR DOCUMENTO EN GOOGLE DOCS const fecha = new Date(); const nombreDoc = "Respuestas - " + Utilities.formatDate( fecha, Session.getScriptTimeZone(), "yyyy-MM-dd HH:mm:ss" ); const doc = DocumentApp.create(nombreDoc); const body = doc.getBody(); body.appendParagraph("Respuestas del formulario") .setHeading(DocumentApp.ParagraphHeading.HEADING1); body.appendParagraph("Fecha: " + fecha.toLocaleString()); body.appendParagraph(" "); data.respuestas.forEach((item, index) => { body.appendParagraph("Pregunta " + (index + 1) + ": " + item.pregunta) .setBold(true); body.appendParagraph("Respuesta: " + item.respuesta); body.appendParagraph(" "); }); doc.saveAndClose(); // 🔥 3. MOVER A CARPETA (VERSIÓN ESTABLE) const folderId = "1iQMfqoLcxGLKF-_Cw2UMGVQP1DQJHzug"; if (folderId && folderId.length > 10) { try { const folder = DriveApp.getFolderById(folderId); const file = DriveApp.getFileById(doc.getId()); // Solo añadimos a carpeta (NO eliminamos de root) folder.addFile(file); } catch (folderError) { Logger.log("Error moviendo archivo: " + folderError); } } // 🔥 4. DOCX DESACTIVADO (para evitar errores) /* const file = DriveApp.getFileById(doc.getId()); const blob = file.getBlob().getAs(MimeType.MICROSOFT_WORD); DriveApp.createFile(blob).setName(nombreDoc + ".docx"); */ return ok({ status: "ok" }); } catch (err) { Logger.log(err); return error(err.toString()); } } /* helpers */ function ok(data) { return ContentService .createTextOutput(JSON.stringify({ status: "ok", data })) .setMimeType(ContentService.MimeType.JSON); } function error(msg) { return ContentService .createTextOutput(JSON.stringify({ status: "error", message: msg })) .setMimeType(ContentService.MimeType.JSON); }

Escribe tu reseña.

Publicaciones populares.