2016-12-25 75 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