2016-12-25 69 views
1

我必将脚本来我的谷歌形式自动发送包含链接编辑到形式的用户响应的确认电子邮件:谷歌的形式脚本getEditResponseUrl()错误

function setup() { 
var triggers = ScriptApp.getProjectTriggers(); 
for (var i in triggers) { 
ScriptApp.deleteTrigger(triggers[i]); 
} 
ScriptApp.newTrigger("sendConfirmationEmail") 
.forForm(FormApp.getActiveForm()) 
.onFormSubmit() 
.create(); 
} 

function sendConfirmationEmail(e) { 
var subject = "subject"; 

var sendername = "sender"; 

var response = e.response; 

message += "<br>If you wish to edit your response, please click on <a href=\"" + response.getEditResponseUrl() + "\">this link</a>."; 

它运行我得到的每一次以下错误:

"TypeError: Cannot call method "getEditResponseUrl" of undefined. (line 30, file "Code")".

但是,链接工作正常,所以我不明白是什么导致此错误。

难道这与我的表单允许“空白”答案有关吗?或者我在代码中丢失了其他东西?

任何帮助非常感谢!快乐圣诞给你们所有人!

回答

0

您的代码工作对我来说,如果我把它放到表格脚本(而不是电子表格脚本),并设置形式脚本触发。这是因为e.response是一个Google窗体事件,请看这里:https://developers.google.com/apps-script/guides/triggers/events

+0

感谢您的建议,但代码已经在窗体脚本中,我仍然得到错误 – JVD

+0

只是为了确认,窗体上是否出现错误提交或在控制台中运行脚本? – utphx

+0

提交表单时发生错误,但现在我已经尝试在控制台中运行脚本,它给出了一个不同的错误:“TypeError:无法读取未定义的属性”响应“(第28行,文件”代码“)” (第28行是指“var response = e.response”) – JVD