使用 App Script .gs 修改 Google 表单确认页面以显示时间戳

Modify Google Forms confirmation page to display the time stamp using App Script .gs

我观看了这个印地语版的 youtube [视频][1]。我不明白他在说什么,但看到他做了什么并且它有效。因此,我尝试复制以获得相同的结果:Google 表单的确认页面显示日期和时间。我实际上更喜欢获得提交时间戳,但也许这并不重要。 [1]: https://www.youtube.com/watch?v=oC4Os1N5Tjs

所以我用 Apps Script 写了这个,直接从视频中复制(显示在运行时的 9:40):

function confirmationPage1() {
  let form = FormApp.openById("1fbdR0F8zBFyn_oz1P4uSdRUBzEAp3EsfemB44LiDaXE");
  let date = Utilities.formatDate(new Date(),Session.getScriptTimeZone(), "yyyy-MM-dd HH:mm:ss");
  Logger.log(date)
  form.setConfirmationMessage()
}

这不起作用,它没有告诉我原因:“其他错误”。 因此,我使用一种方法尝试了其他方法,该方法可用于生成包含时间戳的电子邮件,如下所示:

function confirmationPage2(e) {
  var formResponse = e.response;
  var date = e.response.getTimestamp().toString().substring(0, 24);
  let form = FormApp.openById("1fbdR0F8zBFyn_oz1P4uSdRUBzEAp3EsfemB44LiDaXE");
  Logger.log(date)
  form.setConfirmationMessage()
}

同样,结果相同 - 无效。任何帮助 - 非常感谢!

奖金:最后,我真的不想在确认页面中显示时间戳,而是 link 包含时间戳(link 到另一个 google 预先填写了这个时间戳的表格,这样我就知道哪个受访者继续下一个。但这应该不难,如果我设法让它在第一个中显示时间戳地方。

而不是这个:

form.setConfirmationMessage()

试试这个:

form.setConfirmationMessage(date)

至于第二个脚本,添加一个触发器运行confirmationPage2Event Source = From Form Event type = on form submit否则每次提交时间不会改变。