簡體   English   中英

拆分時的Google Apps腳本消息循環錯誤

[英]google apps script message loop error on split

我有一個可以正常工作的腳本(我得到了我期望的輸出),但是然后給了我一個Cannot調用方法“未定義的拆分(第16行)。如果我注釋掉第16行,則錯誤移至第17行,依此類推。”

function emf()
var ss = SpreadsheetApp.openById('####').getSheetByName('EMF');
{
  var label = GmailApp.getUserLabelByName("tkh_emf");
  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++)
    {
      var fullname = messages[j].getPlainBody().split("Name*: ")[1].split("\n")[0]; // used for GMap column title
      var fname = fullname.split(" ")[0];
      var lname = fullname.split(" ")[1];
      var email = messages[j].getPlainBody().split("Email*: ")[1].split("\n")[0];
      var phone = messages[j].getPlainBody().split("Phone*: ")[1].split("\n")[0];
      var addr = messages[j].getPlainBody().split("Street Address*: ")[1].split("\n")[0];
      var city = messages[j].getPlainBody().split("City*: ")[1].split("\n")[0];
      var find = messages[j].getPlainBody().split("hear about us?*: ")[1].split("\n")[0];
      var referrer = messages[j].getPlainBody().split("Referrer Name: ")[1].split("\n")[0];
      var photo = messages[j].getPlainBody().split("(max size 2MB): ")[1].split("\n")[0];
      var site = messages[j].getSubject().split("Contact ")[1].split("from")[0];
      var date = messages[j].getDate();
      var work = messages[j].getPlainBody().split("Brief description of work requested*: ")[1].split("Visitor IP: ")[0];
      var ip = messages[j].getPlainBody().split("Visitor IP: ")[1].split("Follow @emfteam")[0];

      // var rowNum = lastRow + 1;
      ss.appendRow([fullname, fname, lname, date, work, photo, email, phone, addr, city, find, referrer, site, ip,'pending','pending']);      
    }
      // threads[i].removeLabel(label);
  }
}

這是我要抓取的所有郵件的格式...

我想念什么? 為什么給我一個錯誤?

您可以使用try and catch跳過任何會導致錯誤的消息。 這是一個例子

function emf()
{
  var ss = SpreadsheetApp.openById('####').getSheetByName('EMF');
  var label = GmailApp.getUserLabelByName("tkh_emf");
  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++)
    {
      try {
        var plainBody = messages[j].getPlainBody();
        var fullname = plainBody.split("Name*: ")[1].split("\n")[0]; // used for GMap column title
        var fname = fullname.split(" ")[0];
        var lname = fullname.split(" ")[1];
        var email = plainBody.split("Email*: ")[1].split("\n")[0];
        var phone = plainBody.split("Phone*: ")[1].split("\n")[0];
        var addr = plainBody.split("Street Address*: ")[1].split("\n")[0];
        var city = plainBody.split("City*: ")[1].split("\n")[0];
        var find = plainBody.split("hear about us?*: ")[1].split("\n")[0];
        var referrer = plainBody.split("Referrer Name: ")[1].split("\n")[0];
        var photo = plainBody.split("(max size 2MB): ")[1].split("\n")[0];
        var site = messages[j].getSubject().split("Contact ")[1].split("from")[0];
        var date = messages[j].getDate();
        var work = plainBody.split("Brief description of work requested*: ")[1].split("Visitor IP: ")[0];
        var ip = plainBody.split("Visitor IP: ")[1].split("Follow @emfteam")[0];

        ss.appendRow([fullname, fname, lname, date, work, photo, email, phone, addr, city, find, referrer, site, ip,'pending','pending']);      
      } catch(e) {
      }
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM