Ошибка типа: не удается найти функцию forEach в объекте GmailMessage

#google-apps-script

#google-apps-script

Вопрос:

Используя скрипт приложения, я хотел бы получить самое последнее сообщение в каждом потоке и загрузить его в объект для дальнейшей фильтрации. Пока у меня есть:

 var message_objs = []


// thread is a list of all email threads/chains. thread[i] is a specific email
for (i in threads) {
  var thread = threads[i]
  var messages = thread.getMessages()[0]; // get first message

        Logger.log(messages);


  messages.forEach(function(message){

    message_objs.push({
      'body': message.getPlainBody(),
      'date' : message.getDate(),
      'from' : message.getFrom(),
      'to' : message.getTo()



  });

    Logger.log(message_objs);
  

Я сталкиваюсь с ошибкой в названии. Последние 2 строки журналов показывают:

 [19-04-03 12:27:43:373 EDT] messages
[19-04-03 12:27:43:374 EDT] GmailMessage
  

Что я делаю не так? Какой лучший способ сделать это?

Комментарии:

1. thread.getMessages()[0]

Ответ №1:

Попробуйте изменить это:

 var messages = thread.getMessages()[0]; // get first message
Logger.log(messages);
messages.forEach(function(message){
  

К этому:

 var messages = thread.getMessages(); 
Logger.log(messages);
messages.forEach(function(message){