Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

247
Visualizações
Cómo enviar una respuesta a una pregunta de respuesta múltiple en un formulario de Google usando Javascript

Trabajo para una escuela chárter y cuando recibo nuevos estudiantes tengo que completar un formulario de solicitud de equipo para el estudiante a través de Google Forms. Me gustaría poder enviar automáticamente una respuesta sin tener que completar el formulario cada vez. Ya tengo toda la información sobre el estudiante que necesitaría en una Hoja de Google.
No tengo acceso de edición al formulario y solo puedo usar el script de la aplicación de Google para codificar porque no tengo acceso al servidor ni acceso de administrador en mi computadora portátil de trabajo. Así que esta es realmente mi única opción para la automatización.
Hasta ahora, he podido realizar una llamada de búsqueda con la URL del formulario y un objeto utilizando los ID de entrada para las preguntas.

 const obj = { "entry.1111": tName, "entry.2222": sFirst, "entry.3333": sLast, "entry.4444": 'Option 1', //multiple answer question "entry.5555": 'yes', "entry.6666": 'yes', "entry.7777": 'minor', "entry.8888": 'initial' } const options = { 'method': 'post', 'payload': obj } UrlFetchApp.fetch(url,options)

Esto funciona siempre que no necesite incluir más de una respuesta por pregunta, pero para algunos estudiantes necesito hacer precisamente eso. Si trato de enviar una cadena como "Opción 1, Opción 2", el script falla.

Editar: Mi código no tiene el comentario en el objeto.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Cuando se envían las respuestas múltiples para una pregunta, desafortunadamente, pensé que el objeto JSON podría no poder usarse directamente para la carga útil. Porque en este caso se utiliza la misma clave. E incluso cuando se utiliza la matriz para el valor, se produce un error. Esto ya se ha mencionado en su comentario.

Entonces, en esta respuesta, me gustaría proponer agregarlo al parámetro de consulta. En este caso, creo que hay 2 patrones para tu situación.

Patrón 1:

En este patrón, todos los valores se utilizan como parámetros de consulta.

 // This script is from https://gist.github.com/tanaikech/70503e0ea6998083fcb05c6d2a857107 String.prototype.addQuery = function(obj) { return this + Object.keys(obj).reduce(function(p, e, i) { return p + (i == 0 ? "?" : "&") + (Array.isArray(obj[e]) ? obj[e].reduce(function(str, f, j) { return str + e + "=" + encodeURIComponent(f) + (j != obj[e].length - 1 ? "&" : "") },"") : e + "=" + encodeURIComponent(obj[e])); },""); } function myFunction() { const url = "### your URL ###"; // Please set your URL. const query = { "entry.1111": tName, "entry.2222": sFirst, "entry.3333": sLast, "entry.4444": ['Option 1', 'Option 2'], "entry.5555": 'yes', "entry.6666": 'yes', "entry.7777": 'minor', "entry.8888": 'initial' }; const endpoint = url.addQuery(query); const options = {'method': 'post'}; const res = UrlFetchApp.fetch(endpoint, options); console.log(res.getContentText()); }

Patrón 2:

En este patrón, solo la pregunta de las múltiples respuestas se envía como parámetros de consulta.

 // This script is from https://gist.github.com/tanaikech/70503e0ea6998083fcb05c6d2a857107 String.prototype.addQuery = function(obj) { return this + Object.keys(obj).reduce(function(p, e, i) { return p + (i == 0 ? "?" : "&") + (Array.isArray(obj[e]) ? obj[e].reduce(function(str, f, j) { return str + e + "=" + encodeURIComponent(f) + (j != obj[e].length - 1 ? "&" : "") },"") : e + "=" + encodeURIComponent(obj[e])); },""); } function myFunction() { const url = "### your URL ###"; // Please set your URL. const query = { "entry.4444": ['Option 1', 'Option 2'], }; const obj = { "entry.1111": tName, "entry.2222": sFirst, "entry.3333": sLast, "entry.5555": 'yes', "entry.6666": 'yes', "entry.7777": 'minor', "entry.8888": 'initial' }; const endpoint = url.addQuery(query); const options = { 'method': 'post', 'payload': obj }; const res = UrlFetchApp.fetch(endpoint, options); console.log(res.getContentText()) }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda