Сценарий Google Apps работает медленно. Любопытно, как я могу улучшить это - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть учетная запись электронной почты, на которую отправляются письма из разных писем. Я сделал этот скрипт, чтобы взять поисковый запрос из ячейки листов Google. Затем он принимает результаты этого запроса и устанавливает значение всех адресов электронной почты обратно в эту электронную таблицу. Я вижу около 30 секунд времени исполнения. Я пытался ограничить свои звонки и следовать информации о лучших практиках Googles. Но я довольно новичок в программировании, поэтому не уверен, ожидается ли это. Любые комментарии по этому поводу были бы великолепны!

function pullPurch() {

  var ss         = SpreadsheetApp.getActiveSpreadsheet();          // get search term
  var sheet      = ss.getSheetByName('Compare');
  var purchRange = sheet.getRange("B5:B5");
  var purchTerm  = purchRange.getDisplayValue();

  if(purchTerm && purchTerm.length > 2 ){                          // grab threads of messages
    var purchSH  = ss.getSheetByName('Purchases');
    var emails   = [];
    var threads  = GmailApp.search(purchTerm, 0, 500);              
    var messages = GmailApp.getMessagesForThreads(threads);

    for (var i = 0 ; i < messages.length; i++) {                   //get recipient of emails
      emails.push([messages[i][0].getTo()]);  
      }
    }

    if(emails && emails.length > 0){                                //set values back to sheet
     purchSH.getRange(purchSH.getLastRow()+1, 1, emails.length, 1).setValues(emails);
    }  
  }  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...