2017-09-05 43 views
0

我正在研究R & D項目,在該項目中,我閱讀了我的電子郵件內容(其中包含與服務器相關的指標),並將數據發佈到Google Spreadsheet以繪製圖表。無法在Google腳本觸發器中將[object Object]轉換爲(class)錯誤。在本地正常工作

目前,當我從Google App Script手動運行腳本時,它工作正常,但是當我安排觸發器時,它會失敗並顯示錯誤 - Cannot convert [object Object] to (class)

我的郵件包含了我閱讀和繪製圖形下面的信息:

Date&Time JVM PID CPU MEM FGC 
03-09-2017-09-08-PM abc01_xzy01 12345 1.2% 2.75 3 
03-09-2017-09-08-PM abc01_xzy01 12345 3.5% 2.71 4 
03-09-2017-09-08-PM abc01_xzy01 12345 4.6% 2.79 5 

我的代碼:

function getGmail(start) { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSheet(); 
    var isubject = "TEST REPORT"; 
    start = start || 0; 
    var threads = GmailApp.getInboxThreads(start, 1); 
    for (var i = 0; i < threads.length; i++) { 
    var messages = threads[i].getMessages(); 
    for (var j = 0; j < messages.length; j++) { 
    var sub = messages[j].getSubject(); 
    if (sub==isubject){ 
    var msg=messages[j].getPlainBody(); 
    var msg=msg.trim() 
    } 
} 
result1(msg) 
    } 
function result1(range) { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet1 = ss.getSheetByName("Sheet1") 
    var lr=sheet1.getLastRow() 
    var output=[] 
    var line=range.split(" ") 
    for(j=0;j<line.length;j++){ 
    output.push(line[j].split(" ")) 
    } 
    sheet1.getRange(lr+1, 1, output.length, output[0].length).setValues(output) 
} 
} 

我得到第6行的錯誤,是var threads = GmailApp.getInboxThreads(start, 1);不知道爲什麼,雖然。我在這裏檢查了各種解決方案,並嘗試修改相同的(如應用二維數組,更改setValues格式等),但沒有一個工作。

如何確定爲什麼我的代碼在觸發時保持這種狀態?

回答

1

無法將參數傳遞給觸發器中的函數,因此當您使用觸發器運行時,函數中的啓動未定義。這就是爲什麼它在第6行失敗。

相關問題