Javascript Google工作表导入Ljava.lang.Object错误

Javascript Google工作表导入Ljava.lang.Object错误,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我已经拼凑了一些不同的脚本来实现这一点,但我似乎无法获得正确放入数据的代码 电子邮件输入: *Status:* *Date:* 03/31/2020 *WorkOrder:* 123456-1 *DMSShipDate:* 03/31/2020 *PONumber:* 8675309 *Company:* Test I get the following in each column: [Ljava.lang.Object;@488e1851, [Ljava.lang.Object;@5c5

我已经拼凑了一些不同的脚本来实现这一点,但我似乎无法获得正确放入数据的代码

电子邮件输入:

*Status:* 
*Date:* 03/31/2020
*WorkOrder:* 123456-1
*DMSShipDate:* 03/31/2020
*PONumber:* 8675309
*Company:* Test
I get the following in each column:
[Ljava.lang.Object;@488e1851, [Ljava.lang.Object;@5c588720, etc, etc
脚本

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]);
}
我尝试了JSON.Stringify和toString(),但似乎没有任何东西能够将数据正确地输入到列中。

返回一个
数组。要获取捕获的组,请索引到该数组中:

bodyContents.match(/\*Status:\*(.*) /)[1];
返回一个
数组
。要获取捕获的组,请索引到该数组中:

bodyContents.match(/\*Status:\*(.*) /)[1];

string.match()
返回什么?
string.match()
返回什么?我得到错误:TypeError:无法读取null的属性“1”。@Jakesch-好吧,这是因为
match()
返回一个
数组或
null
(请参阅-关于不匹配的主答案第一链接,btw)。其余部分取决于您是否希望出现不匹配(如
(someString.match(SomeExp)| |[,“”])[1]
就足够了)。我得到了错误:TypeError:无法读取null的属性“1”。@Jakesch-这是因为
match()
返回一个
数组
null
(请参阅-主答案第一链接,btw)没有对手。其余部分取决于您是否期望不匹配(类似于
(someString.match(SomeExp)| |[,“”])[1]
就足够了)。