Импорт писем, соответствующих критериям таблицы Google, с помощью приложений script

Мне интересно, можно ли создать приложения script, который будет отслеживать мой почтовый ящик или определенную метку в gmail, а когда будет получено электронное письмо, импортируйте его в электронную таблицу google

Проще всего два будут импортировать все электронные письма, которые попадают на определенную метку, что легко сделать с использованием фильтров в самом gmail, поэтому я бы предположил, что это будет более простой вариант

Если возможно, может ли кто-нибудь связать меня с приложениями script, которые уже делают это, или указать мне в правильном направлении, чтобы начать? У меня есть, хотя и минимальный опыт работы с приложениями script, так что легко на меня:)

Ответ 1

Вот небольшой код для начала, я ограничил запрос на первые 10 потоков, чтобы сделать его коротким и использовал ярлык, который у меня был... не забудьте изменить его имя, прежде чем тестировать его; )

    function getMessagesWithLabel() {
     var destArray = new Array();
      var threads = GmailApp.getUserLabelByName('Facebook').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)
    }

Ответ 2

Да, можно написать script, чтобы сделать то, что вы наметили. См. документацию GmailApp приложений script для методов, которые вы можете использовать для этого.