Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google应用程序脚本中2D数组大小出现异常错误_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript Google应用程序脚本中2D数组大小出现异常错误

Javascript Google应用程序脚本中2D数组大小出现异常错误,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,例外情况是: 数据中的列数与范围中的列数不匹配。数据为0,但范围为3 我想用三列和线程的长度填充一个google电子表格。当我调试程序时,数组是空的。是否应该使用其他方法来创建可与getrange一起使用的2D数组 function TheaThreads(){ var SS =SpreadsheetApp.getActiveSpreadsheet(); var ThreadSheet = SS.getSheetByName("Threads"); var thread

例外情况是:

数据中的列数与范围中的列数不匹配。数据为0,但范围为3

我想用三列和线程的长度填充一个google电子表格。当我调试程序时,数组是空的。是否应该使用其他方法来创建可与getrange一起使用的2D数组

function TheaThreads(){
 var SS =SpreadsheetApp.getActiveSpreadsheet();
 var ThreadSheet = SS.getSheetByName("Threads");
 var threads = GmailApp.getInboxThreads();
 var csNames = new Array();

   for (var i=0; i < threads.length; i++) {
    for (var j = 0; j < 
     threads[i].getMessages().length; j++){
  
     var message = threads[i].getMessages()[j],
     label = threads[i].getLabels(),
     ident = message.getId(),
     emailfrom = message.getFrom();
  
  //remove the name that comes with the email and pops the > at the end and store into str
   
      var str = emailfrom.split("<").pop();
      str=str.replace(">",'');
  // Label empty labels with "No Label"
      if(label==null|| label== undefined|| 
       label.length==0){
       label="No Label";
      }
     }

  //Push the ID, Label and FromEmail into 2D array
  
    csNames[j] = new Array();
    csNames[j][0]= ident;
    csNames[j][1]= label;
    csNames[j][2]=str; 
    Logger.log(csNames[j]);

    ThreadSheet.getRange(2, 1, csNames.length, 
    csNames[j].length).setValues(csNames);
函数线程(){
var SS=SpreadsheetApp.getActiveSpreadsheet();
var ThreadSheet=SS.getSheetByName(“Threads”);
var threads=GmailApp.getInboxThreads();
var csNames=新数组();
对于(var i=0;i并存储到str中
var str=emailfrom.split(“,”);
//用“无标签”标记空标签
if(label==null | | label==undefined | |
label.length==0){
label=“无标签”;
}
}
//将ID、标签和FromEmail推送到2D数组中
csNames[j]=新数组();
csNames[j][0]=ident;
csNames[j][1]=标签;
csNames[j][2]=str;
Logger.log(csNames[j]);
ThreadSheet.getRange(2,1,csNames.length,
csNames[j].length).setValues(csNames);
这是为我运行的:

 function TheaThreads() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getSheetByName("Sheet1");//changed
  var threads = GmailApp.getInboxThreads();
  var csNames = [['id','label','from']];//changed

  for (var i = 0; i < threads.length; i++) {
    for (var j = 0; j < threads[i].getMessages().length; j++) {
      var message = threads[i].getMessages()[j],
        label = threads[i].getLabels().map(l=>{return l.getName()}).join(','),
        ident = message.getId(),
        emailfrom = message.getFrom();//changed
      var str = emailfrom.split("<").pop();
      str = str.replace(">", '');
      if (label == null || label == undefined ||
        label.length == 0) {
        label = "No Label";
      }
    }
    csNames.push([ident,label,str]);
  }
  sh.getRange(1, 1, csNames.length, csNames[0].length).setValues(csNames);//moved
}
函数线程(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sh=ss.getSheetByName(“Sheet1”);//已更改
var threads=GmailApp.getInboxThreads();
var csNames=[['id','label','from']];//已更改
对于(var i=0;i{return l.getName()}).join(','),
ident=message.getId(),
emailfrom=message.getFrom();//已更改
var str=emailfrom.split(“,”);
如果(标签==null | |标签==未定义||
label.length==0){
label=“无标签”;
}
}
csNames.push([ident,label,str]);
}
sh.getRange(1,1,csNames.length,csNames[0].length).setValues(csNames);//已移动
}

我将其从for循环中取出,并在csNames[j].length中得到了相同的错误,在csNames[0].length中出现了“无法读取未定义的属性'length'的错误”。请再次查看。我添加了一些代码到标签,因为它返回了Gmillabel数组