javascript - Google Sheet导入Ljava.lang.Object错误

标签 javascript google-apps-script google-sheets

我拼凑了一些不同的脚本来使其工作,但我似乎无法获得正确放入数据的代码。

电子邮件输入:

*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() 但似乎没有任何方法能够将数据正确地放入列中。

最佳答案

String.match返回一个数组。要获取捕获的组,请在该数组中建立索引:

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

关于javascript - Google Sheet导入Ljava.lang.Object错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60953241/

相关文章:

javascript - 如何在成功的 ajax 请求后禁用 onclick 事件?

javascript - Odoo 销售点如何使用 JS 访问模型和调用方法

sql - 谷歌 BigQuery : Error 413 Response is too large

python - 使用spreadsheets.batchUpdate发送多个请求会导致错误

google-apps-script - 编辑时更改单元格颜色,但仅限于有限的时间

javascript - ExtJS 加载嵌套 JSON

javascript - 有没有更好的方法来减少多个 if 语句?

google-apps-script - 获取对象 ScriptApp 的方法或属性 getAuthorizationInfo 时出现意外错误

url - 从文件 URL 查找应用程序脚本发布的 URL - 按发布的 Web 应用程序 URL 搜索文件

google-apps-script - Google 电子表格脚本单元格参数