使用GAS,能够更新表单的响应?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用GAS,能够更新表单的响应?相关的知识,希望对你有一定的参考价值。

我想使用 谷歌应用脚本 编辑一个已经提交的表单的回复。我有答案的id,我可以检索它,但我不能再次发送它改变任何项目。

  var libro = SpreadsheetApp.getActiveSpreadsheet()
  var hoja = libro.getSheetByName('Respuestas de formulario 1')
  const answers = hoja.getRange(1,1,hoja.getLastRow(), hoja.getLastColumn()).getValues().slice(2)

  const form = FormApp.openById(FORM_ID);


var cuestionario = form.getResponse(RESPONSE_ID)
const items = form.getItems();
    cuestionario.withItemResponse(items[0].asListItem().createResponse(answers[1][1])) //competición
                .withItemResponse(items[1].asListItem().createResponse(answers[1][2])) //sección
                .withItemResponse(items[2].asTextItem().createResponse(answers[1][3])) //Equipo Sección
                .withItemResponse(items[3].asTextItem().createResponse(answers[1][4])) //Equipo A
                 .withItemResponse(items[4].asTextItem().createResponse(answers[1][5])) //Equipo B
                 .withItemResponse(items[5].asDateItem().createResponse(answers[1][6])) //Fecha Inicial
                 .withItemResponse(items[6].asDateItem().createResponse(answers[1][7])) //Fecha Juego
                 .withItemResponse(items[7].asDateItem().createResponse(answers[1][8])) //Hora
                 .withItemResponse(items[8].asTextItem().createResponse(answers[1][9])) //Campo
                 .withItemResponse(items[9].asTextItem().createResponse(answers[1][10])) //Entrenador
                 .withItemResponse(items[10].asTextItem().createResponse(answers[1][11])) //Categoría Fab
                 .withItemResponse(items[11].asListItem().createResponse(answers[1][12])) //Pista Colegio
                  cuestionario.submit()

异常: Lo sentimos. Esta respuesta ya se ha enviado.

异常。抱歉 此回复已经发送

答案

一个现有的表单响应不能被改变 FormResponse.submit()withItemResponse(response).

文件 withItemResponse(response) 状态。

此方法仅适用于脚本已创建但尚未提交的表单响应,不能影响存储的响应。

文档中的 FormResponse.submit() 状态。

如果响应已经提交,就会抛出一个脚本异常。

没有官方的、"内置 "的方式来编辑现有的 Google 表单响应,只有最初提交表单的人能够编辑表单中的响应。 只有最初提交表单的人应该能够编辑表单中的响应。 表单的所有者也不可能手动编辑表单响应。 表单的所有者可以删除响应,但所有者不能编辑响应。

表单的用户至少应该有一定的信心和信任,他们的回答不会被改变,除非是他们自己。

可能得到一个 "编辑网址 "与应用程序脚本代码,但没有办法编程使用编辑网址编辑现有的答案。

另一答案

非常感谢您的回复。所有的表单回复都是我发布的,它允许我以一种简单的方式填写excel。无论哪种方式,我都会找到其他方式。

以上是关于使用GAS,能够更新表单的响应?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取未更新的响应式表单数据?

如何正确解析一组 Fetch 响应

将Google表单表单回复组合到Google日历活动的说明中

我们如何使 htmx 响应触发表单重置?

表单标签中的按钮不会提交或响应 Javascript/Jquery

混合 WebView 导航和导航事件在 Xamarin 表单中没有响应