【发布时间】:2014-03-19 14:50:19
【问题描述】:
我正在研究由 Google 表单支持的错误跟踪,我认为我遇到了 Apps 脚本中的错误。
提交响应后,我的脚本onFormSubmit 处理程序将获取FormResponse id(如下例所示):
function onFormSubmit(e) {
log("ID (on submit):", e.response);
}
function log(msg, response) {
Logger.log(msg + " " + response.getId() + "; response is '" + response.getItemResponses()[0].getResponse() + "'");
}
此外,当我列出所有FormResponses 时,我得到不同的ID,除了第一个,这是正确的。示例代码如下:
function listResponsesId() {
FormApp.getActiveForm().getResponses().forEach(function(v) {
log("ID (on list):", v);
});
}
function log(msg, response) {
Logger.log(msg + " " + response.getId() + "; response is '" + response.getItemResponses()[0].getResponse() + "'");
}
我使用这个示例应用运行了 3 次表单提交,结果如下:
ID (on submit): ChI2NzM1Mjg5OTY5NjY0MjA5MjEQzI768siy3sSOAQ; response is 'test 1'
ID (on list): ChI2NzM1Mjg5OTY5NjY0MjA5MjEQzI768siy3sSOAQ; response is 'test 1'
ID (on submit): ChMxOTczNzc5Nzk1MDI1MDkzMjMyEMyO-vLIst7EjgE; response is 'test 2'
ID (on list): ChMxOTczNzc5Nzk1MDI1MDkzMjMyEAA; response is 'test 2'
ID (on submit): ChMyNjk1ODgzNjgwMjk2NjM4NzAyEMyO-vLIst7EjgE; response is 'test 3'
ID (on list): ChMyNjk1ODgzNjgwMjk2NjM4NzAyEAA; response is 'test 3'
FormResponse.getId() 应该不可靠?
【问题讨论】:
-
在一次测试中,我看到ID不一样,但是经过一定时间(例如5分钟)后,它们是相等的,显然分配了一个临时ID,直到它们同步。
-
@wchiquito 谢谢!我刚看到...我必须想办法在 id 不同步的情况下不允许用户访问某些信息。
标签: google-apps-script google-forms