由于您知道响应 ID,因此可以使用 geEditResponseUrl 方法获取表单响应的直接链接。请注意,任何拥有此 URL 的人都可以编辑响应。
function getEditUrl(responseId) {
var form = FormApp.getActiveForm();
var response = form.getResponse(responseId);
return response.getEditResponseUrl()
}
你可以通过 .getId() 方法获取 responseId。
let response = form.getResponse(responseId);
let responseId = response.getId();
或者如果您是在提交表单时执行此操作:
let form = FormApp.getActiveForm();
let allResponses = form.getResponses();
let latestResponse = allResponses[allResponses.length - 1];
let responseId = latestResponse.getId();
var responseId = e.response.getId()
var urlString = "https://docs.google.com/forms/d/" + formId + "/edit#response=" + responseId
function onFormSubmit(e){
var responseId = e.response.getId()
}
并从Earlking的响应中
var allResponses = thisForm.getResponses();
var latestResponse = allResponses[allResponses.length - 1];
var responseId = latestResponse.getId();
它们都提供了相同的ID,但没有必需的URL ID。
这里是一个比较URL的代码片段
https://docs.google.com/forms/d/FORMID/edit#response=ACYDBNh8k40Y7zxtUeYzw8wDwRx4pggu8APuxl5TmInVVieXN-SrmTW8tK0zHvQPmVsnYzY
https://docs.google.com/forms/d/FORMID/edit#response=2_ABaOnuet7P69_wc3S4QJkgkjS4abty4aDD9Zn1IQ8bhSKyGiynGGtuyg1v0A-xkLgOMelUE
在edit#response=后,它们是不同的。 第一个是我从表单编辑器中打开的最新响应复制来的。第二个是由代码生成的。当url出现错误时,它会将您带到您的表单编辑页面,但会重定向到第一个响应以打开它。
似乎是一个错误或未开发的功能。