Google apps script 如何在运行时删除google表单的表单响应?

Google apps script 如何在运行时删除google表单的表单响应?,google-apps-script,google-sheets,google-forms,Google Apps Script,Google Sheets,Google Forms,我有两张表格:表格一和表格二 我有一个条件,在提交form2后,用户必须提交form1。但如果用户提交了form1而没有提交form2,那么我希望在不希望该条目出现在电子表格中的同时删除它的响应。如何防止用户提交表单,或者是否有方法在运行时删除响应,以便不会有任何提交条目?您现在可以删除单个表单项响应:请参见此处。 deleteResponse(responseId) 从窗体的响应存储中删除单个响应。此方法不会删除存储在外部响应目标(如电子表格)中的响应副本,但会从表单的摘要视图中删除响应。可以

我有两张表格:表格一和表格二


我有一个条件,在提交form2后,用户必须提交form1。但如果用户提交了form1而没有提交form2,那么我希望在不希望该条目出现在电子表格中的同时删除它的响应。如何防止用户提交表单,或者是否有方法在运行时删除响应,以便不会有任何提交条目?

您现在可以删除单个表单项响应:请参见此处。 deleteResponse(responseId)
从窗体的响应存储中删除单个响应。此方法不会删除存储在外部响应目标(如电子表格)中的响应副本,但会从表单的摘要视图中删除响应。可以使用FormResponse.getId()检索响应ID。

查看。由于您没有共享任何代码,我们无法在此处真正帮助您。您无法使用代码删除表单中的单个响应。您可以使用代码删除所有响应,但不能仅删除一个响应。如果要删除电子表格中的响应,则需要查找刚刚保存的行。您可以删除电子表格中最后找到的行,但如果有多个用户同时快速连续提交表单,则删除错误的行可能会出现问题。电子表格中需要一个表单提交功能。获取值并将其与最后一行进行比较,如果匹配,则删除该行。但是,还有另一个问题,因为如果两个人提交了完全相同的数据会怎么样。因此,您可能希望收集用户的电子邮件地址并比较电子邮件地址,以确保删除的行正确。谢谢@SandyGood。当多个用户同时提交表单时,如果两个用户同时提交表单,那么我应该删除哪个记录就有问题了。我发现的解决方案和您上面提到的完全相同,如果我使用getActiveUser()方法,那么该方法可以区分两个用户和两行,并且我可以轻松地删除特定的行。但也有可能,若用户通过匿名模式填写表单,或者若用户从其他浏览器(如Mozilla、UC浏览器或Opera)填写表单,那个么?@Casper,我不可能上传代码。这是一个非常大的代码。两个模块非常大,所以我无法上传代码。