以编程方式更新并重新提交对Google表单的响应,同时保留响应ID

时间:2018-07-20 16:14:46

标签: google-apps-script google-sheets google-form

提交Google表单后,会有一个“编辑您的回复”链接。单击它,更改值并重新提交时,即使答案已更改,响应的ID也保持不变。包含响应ID的URL将打开一个表单,该表单将预先填充有最新数据。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"Z",",Z"),"Y",",Y"),"X",",X"),"W",",W"),"V",",V"),"U",",U"),"T",",T"),"S",",S"),"R",",R"),"Q",",Q"),"P",",P"),"O",",O"),"N",",N"),"M",",M"),"L",",L"),"K",",K"),"J",",J"),"I",",I"),"H",",H"),"G",",G"),"F",",F"),"E",",E"),"D",",D"),"C",",C"),"B",",B"),"A",",A")," ,"," ")

我想通过编程方式做同样的事情:更改响应并重新提交,而无需创建新的ID。原因是URL已分发给数百个不同的人,要求他们更新“他们的”数据行,并且在以编程方式添加新响应之后,分布式链接仍将指向旧的预填充响应。另外,我还需要响应ID稳定,因为它可以让我找到正确的行以进行提交更新(我在更新中所做的详细信息:Make rows of a Google spreadsheet editable in a Google form)。

我期望的工作是通过ID来获取响应,为每个问题创建一个响应项,然后将其添加到响应中:

https://docs.google.com/forms/d/e/1FAI...(form ID)/formResponse?edit2=2_ABaOnue(response ID)

但这会引发错误:

  

对不起,此回复已经提交。

是否可以模仿与通过脚本手动重新提交更新的表单相同的行为?

0 个答案:

没有答案