2014-01-08 156 views
0

我從網上某處複製了此功能。我的目標是將我的Gmail帳戶中特定標記的電子郵件的主體導入到Google電子表格中。雖然在編碼方面我並不完全無能爲力,但我並不熟悉這些東西。Google雲端硬盤電子表格腳本問題

一些可能相關的細節:我嘗試導入的每個電子郵件都不是對話,它們是收到的單個電子郵件,沒有響應,也沒有線程中的早期消息。我希望每個電子郵件的整個主體都放置在電子表格的單個單元格中。

事實上,只有主題被放置在我的電子表格中。我怎樣才能讓它帶來身體呢?我覺得它被放置在數組中,但是在循環setValue時它會被跳過。

很多愛人們!

代碼:

function getMessagesWithLabel() { 
var destArray = new Array(); 
    var threads = GmailApp.getUserLabelByName('abc').getThreads(1,10); 

    for(var n in threads){ 
     var msg = threads[n].getMessages(); 
     var destArrayRow = new Array(); 
     destArrayRow.push('thread has '+threads[n].getMessageCount()+' messages'); 
      for(var m in msg){ 
        destArrayRow.push(msg[m].getSubject()); 
      } 
    destArray.push(destArrayRow);   
     } 
Logger.log(destArray); 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sh = ss.getActiveSheet(); 
if(ss.getLastRow()==0){sh.getRange(1,1).setValue('getMessagesWithLabel() RESULTS')}; 
sh.getRange(ss.getLastRow()+1,1,destArray.length,destArray[0].length).setValues(destArray) 
} 
+0

我建議您編輯您的問題,以清楚您的實際問題或關閉它,然後用您遇到的實際問題創建一個新問題。 –

+0

完成。希望這會幫助我找到答案。 – Grouchy

回答

0

你不使用.getBody()在腳本的任何地方?在這樣的情況下,我每個消息存儲爲與主題和正文作爲單獨的值的對象:

console.log(contentArray[0].subject); 
console.log(contentArray[0].body); 

var msg = threads[n].getMessages(); 
var contentArray = []; 

for(var i = 0; i < msg.length; i++){ 

    var obj = { 
    subject: msg[i].getSubject(), 
    body: msg[i].getBody()  
    }; 

    contentArray.push(obj); 

} 

這些值然後可以通過使用以下表示法來迭代

相關問題