使用Google Script将指定的电子邮件正文导出到Google工作表

时间:2015-07-18 19:05:57

标签: javascript google-sheets gmail

我正在尝试使用Google Apps脚本构建一个脚本,该脚本可识别我的收件箱中的指定邮件并将其正文内容传输到Google工作表。

我一直在努力让它工作(初学者),并且先前提到[此解决方案] [1]以及许多其他人,但我仍然无法让它按照我希望的方式工作。

下面是我提出的一些代码。

基本上我想要它:

  • 注意来自指定标签的传入电子邮件
  • 将指定的电子邮件(发件人/主题行)正文复制到Google表格中的空行
  • 将电子邮件移至垃圾箱
  • 重复下一封电子邮件,然后将正文粘贴到上一封电子邮件下方的行中。

目前函数process1(消息)不起作用,因为命令appendRow(body)无法识别。

感谢您的反馈。

谢谢。

        function getemails() {

    /* This enables the script to access the specified label, in this case "Your Chosen Label" */



var label = GmailApp.getUserLabelByName("Your Chosen Label");
 var threads = label.getThreads();

         for (var i = 0; i < threads.length; i++) { 

     var messages=threads[i].getMessages();  

         for (var j = 0; j < messages.length; j++) {

             /*this, tells the script what subject lines I am after: */

       var message=messages[j];
       var subject = message.getSubject();
           if(subject=="Your chosen Subject Line")
               process1(message);
     }
     }
       function process1(message) {

     var body =message.getBody();
     var id = "Spreadsheet ID";
     var ss = SpreadsheetApp.openById(id);
     var sheet = ss.getActiveSheet();
     sheet.appendRow(body);
     deleteMessage(message);           
    }  

    function deleteMessage(message){
     message.moveToTrash();
    }


  [1]: http://stackoverflow.com/questions/11857494/import-emails-that-fit-criteria-to-google-spreadsheet-using-apps-script

1 个答案:

答案 0 :(得分:0)

查看appendRow的官方文档。它不需要一个字符串参数,它需要一个元素数组。所以如果你通过[身体]它会工作。更好地传递诸如[日期,来自,主题,身体,标签]之类的东西