我正在使用脚本从表单提交中提取响应ID,以便用户编辑响应时,我可以将编辑与初始响应进行匹配。我的脚本创建了提交的每个表单内容的.pdf,但当用户编辑响应时,它会创建一个仅包含编辑数据的新表单,而不会将其链接到初始响应。GAS中Response.getId()返回的奇怪结果
编辑响应包含时间戳和编辑后的信息,时间戳与Response.getId(timestamp),iirc一起使用,并返回表单提交的ID。然而,我有时会得到一个非常奇怪的回报,我不知道它是从哪里来的。响应比典型的响应ID(10-12字母数字而不是30+)要短得多。我会尝试用代码来回顾并编辑这个问题,但此刻我正在登录不同的日志,因此我必须交换并复制代码并返回。运行单元测试并没有真正的帮助,因为我大部分时间都能得到预期的结果。这只是一个偶尔的呃逆,但我必须找到不正确的信息来自哪里。
function getResponseId(timestamp){
var form = FormApp.openById('<formID>');
if(typeof(timestamp) != 'number'){
timestamp = new Date(timestamp);
}
var responses = form.getResponses(timestamp);
var entryId = responses[0].getId();
return entryId;
}
就是这样。我想if(typeof ...)可能会抛出一些事情,如果它传递的是日期字符串而不是实际的入口时间戳,但我不这么认为,我会仔细检查它并在此期间进行调试,如果我回答我自己的问题,我会回来修复它
你有机会看看[这个](http://stackoverflow.com/questions/2250960) 7/- 被提交的-ID-的-A-formresponse-时-A-响应是,不同-时,您列表)?您是否尝试使用onFormSubmit类似的函数获取ID,如上面的链接所述? – pointNclick