使用应用脚本将符合条件的电子邮件导入Google电子表格

时间:2012-08-08 03:59:49

标签: google-apps-script google-sheets gmail

我想知道是否可以创建监控我的收件箱或gmail中某个标签的应用脚本,并在收到电子邮件时将其导入谷歌电子表格

两者中较简单的是导入所有在某个标签中捕获的电子邮件,这很容易在gmail本身使用过滤器完成,所以我认为这将是更容易的选择

如果有可能,有人可以将我链接到已经执行此操作的应用程序脚本或指向正确的方向开始吗?我有一些,尽管对应用程序脚本的经验很少,所以对我来说很容易:)

2 个答案:

答案 0 :(得分:11)

这是一个很小的代码,我确实将请求限制为前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)
    }

答案 1 :(得分:3)

是的,可以编写一个脚本来执行您概述的内容。 有关可用于执行此操作的方法,请参阅“应用程序脚本”的GmailApp documentation