如何获取线程中的最后一条消息?

How can I get the last message in the thread?

我在 Google Apps 脚本中使用了以下代码,我想获得每个邮件列表的最后回复。此代码获取每个线程的第一封邮件而不是最后一封邮件。

 var myspreadsheet = SpreadsheetApp.getActiveSpreadsheet();
 var mysheet = myspreadsheet.getSheets()[0];
 var start = 0;
 var max = 399;
 var count =0;
 var row = mysheet.getLastRow()+1
 while(count < 7) 
 {

   var threads = GmailApp.getInboxThreads(start , max);
   var messages = GmailApp.getMessagesForThreads(threads); 
   var froms = [];
    messages.get
      for(var i = 0; i < threads.length; i++)
    {
       froms.push([messages[i][0].getId(),messages[i][0].getSubject(),messages[i][0].getTo(),messages[i][0].getFrom(),messages[i][0].getCc(),messages[i][0].getDate(),messages[i][0].getReplyTo()]);
    }

    mysheet.getRange(mysheet.getLastRow()+1,1,threads.length,7).setValues(froms);

    start =  start + 100;
    count++;
    }
}```

此脚本中有很多内容可能需要更改。

所以下面几行仅限于获取每个线程的最后一条消息。然后将最后一条消息的详细信息推入数组 from[].

  for (var i = 0; i < threads.length; i++) { // Loop through the threads

    var thisThread = threads[i]; // Get a speific thread

    var messages = thisThread.getMessages(); // Get the messages in that thread

    var messageCount = thisThread.getMessageCount(); // Count the number of messages in that thread

    var lastMessage = messages[messageCount - 1]; // Get the last message in that thread. The first message is numbered 0.

    froms.push([lastMessage.getId(), lastMessage.getSubject(), lastMessage.getTo(), lastMessage.getFrom()...]);

  }