2013-02-01 131 views
2

我有幾個表格都可以正常工作幾個月(以及幾年中的幾年)。我們是一個小學區,我是唯一的技術。我建立了表格,以便教師可以請求設備,尋求幫助或提出一般問題。該表格嵌入在與工作人員共享的Google網站中。提交後,每個電子表格中的應用程序腳本會收集表單數據並將其發送給我,以便我不一定非要在電子表格中查找它。這一切都很好地工作了很長時間。從最近幾天開始,我一直在收到錯誤消息(下面的例子),而且看起來我的onformsubmit觸發器已經全部丟失。OnFormSubmit觸發器問題

function onMyFormSubmit(e) { 
    var myEmailAddress = "[email protected]" ; 
    var myEmailSubject = "Ask The Tech" ; 
    var replyToAddress = String(e.namedValues['Username']); 
    try{ 
    var message = e.values.join("]["); 
    var hmessage = "<b>From: </b>" + replyToAddress + "<br>"; 
     hmessage += "<b>Question: </b>" + e.namedValues['Your Question'] + "<br>"; 
     hmessage += "<b>When: </b>" + e.namedValues['Timestamp'] + "<br>"; 
    var advancedArgs = {htmlBody:hmessage,replyTo:replyToAddress}; 
    MailApp.sendEmail(myEmailAddress, myEmailSubject, message, advancedArgs) ; 
    } 
    catch(err){ 
    MailApp.sendEmail(myEmailAddress, myEmailSubject, err) ; 
    } 
} 

Start Function Error Message Trigger End 
2/1/13 2:30 PM onMyFormSubmit You do not have permission to call getActiveSpreadsheet formSubmit 2/1/13 2:30 PM 

正如你從示例腳本看,沒有一個腳本直接調用getActiveSpreadSheet,所以我不明白爲什麼我收到此消息。此外,一旦我看了腳本,並意識到觸發器已經消失,當我添加一個新的觸發器時,腳本再次開始工作onformsubmit,但是,我仍然收到傳遞到我的郵箱的錯誤消息,以及腳本生成的電子郵件。

這個問題與最近的形式改造有關,在我的代碼中有缺陷,或者我能做些什麼嗎?如果這是一個谷歌錯誤,是否有問題跟蹤器,我應該提交我的問題?預先感謝任何迴應!

+0

看來,你是不是誰是有這個問題的唯一的一個。您可以嘗試在腳本中添加SpreadsheetApp.getActiveSpreadsheet()並在腳本編輯器中運行一次以獲取電子表格服務的授權面板嗎? –

+0

感謝您的建議,並確認它不僅僅是我。我試着將SpreadsheetApp.getActiveSpreadSheet()分配給函數頂部的一個變量,然後在編輯器中運行該腳本,但它沒有要求授權,然後在'namedValues'的第一次命中時出現類型錯誤, (正如您在編輯器中運行時所預期的那樣)。然後我也嘗試提交一個新的表單響應,結果與之前一樣(獲取了代碼生成的電子郵件,但也收到了錯誤信息)。 – Cassidy

+0

問題跟蹤器:https // code.google.com/p/google-apps-script-issues/issues /列表 – ScampMichael

回答