Google Sheet Import Ljava.lang.Object 错误

我拼凑了几个不同的脚本来让它工作,但我似乎无法获得代码来正确输入数据。


电子邮件输入:


*Status:* 

*Date:* 03/31/2020

*WorkOrder:* 123456-1

*DMSShipDate:* 03/31/2020

*PONumber:* 8675309

*Company:* Test

脚本


var ui = SpreadsheetApp.getUi();

function onOpen(e){


  ui.createMenu("Import Email").addItem("Import Email", "getGmailEmails").addToUi();


}


function getGmailEmails(){  

    if (Session.getActiveUser().getEmail() != "email@gmail.com"){

        Browser.msgBox("Please log in as email@gmail.com");

        return;

    }

  var label = GmailApp.getUserLabelByName("ImportMe");

  var threads = label.getThreads();


  for(var i = threads.length - 1; i >=0; i--){

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


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

      var message = messages[j];

      extractDetails(message);

      GmailApp.markMessageRead(message);

    }

    threads[i].removeLabel(label);


  }


}


function extractDetails(message){

    var bodyContents = message.getPlainBody();

    var status = bodyContents.match(/\*Status:\*(.*) /);

    var dateEntered =  bodyContents.match(/\*Date:\*(.*) /);

    var workOrder = bodyContents.match(/\*WorkOrder:\*(.*) /);

    var dmsShipDate =  bodyContents.match(/\*DMSShipDate:\*(.*) /);

    var poNum =  bodyContents.match(/\*PONumber:\*(.*) /);

    var company =  bodyContents.match(/\*Company:\*(.*) /);


  var activeSheet = SpreadsheetApp.getActiveSheet();

  activeSheet.appendRow([status, dateEntered, workOrder, dmsShipDate, poNum, company]);

}

结果:


I get the following in each column:

[Ljava.lang.Object;@488e1851, [Ljava.lang.Object;@5c588720, etc, etc

我已经尝试过 JSON.Stringify 和 toString() 但似乎没有任何东西能够正确地将数据放入列中。


喵喔喔
浏览 154回答 1
1回答

当年话下

tring.match返回一个array.&nbsp;要获取捕获的组,请索引该数组:bodyContents.match(/\*Status:\*(.*)&nbsp;/)[1];
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript