Как вернуть свойство, пока объект не определен - PullRequest
1 голос
/ 02 ноября 2019

Я получил эту ошибку при попытке получить электронные письма из входящей почты Gmail.

TypeError: Cannot read property "length" from undefined

Я не знаю, есть ли другие функции, которые подходят здесь лучше.

function getRelevantMessages()
{
  var threads = GmailApp.search("newer_than:30d AND label:payments",0,100);
  var messages=[];
  threads.forEach(function(thread)
                  {
                    messages.push(thread.getMessages()[0]);
                  });
  return messages;
}

function parseMessageData(messages)
{
  var records=[];
  for(var m=0;m<messages.length;m++)
  {
    var text = messages[m].getPlainBody();
// then regex and objects carry the returns

код от pastebin https://pastebin.com/TRkEB6yM

1 Ответ

1 голос
/ 04 ноября 2019

Поскольку исходный вопрос получал undefined при поиске писем, MiMi, Cooper и Tedinoz решили его в комментариях. Размещение его в качестве ответа для дальнейших поисков.

function getRelevantMessages() { 

   var threads = GmailApp.search("newer_than:30d",0,100); 
   var messages=[];
   threads.forEach(function(thread) { 
       messages.push(thread.getMessages()[0].getFrom()); 
   }); 

  Logger.log(messages); 
  return messages; 

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...