手动触发但时间触发失败时脚本正常工作

时间:2019-05-15 23:14:47

标签: javascript google-apps-script triggers

我有一个google脚本,可将google文件夹中最新csv文件的数据添加到母版表中数据的最后一行下方。当我手动运行脚本时,该脚本运行良好,但是,当我设置时间触发器时,该脚本将失败,并显示错误消息:

错误 找不到具有给定ID的项目,或者您没有访问权限。在importData(Code:5)

我的脚本在下面。有人可以协助吗?预先感谢。

function importData(folderID)
{
  var ss = SpreadsheetApp.openById(my spreadsheet id);
  var folderID = (typeof(folderID) !== 'undefined')? folderID : 'my folder id';//default folderID
  var fldr = DriveApp.getFolderById(folderID);
  var files = fldr.getFiles();
  var dt = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"yyyyddMM");
  var re =new RegExp('^' + "11286321_" + dt + '.*\.csv$','i');
  while (files.hasNext())
  {
    var file = files.next();
    var filename = file.getName();
    if(filename.match(re))
    {
      var csvstr=file.getBlob().getDataAsString();
      var csvData=Utilities.parseCsv(csvstr);
      var sheet = ss.getSheetByName("EwayPayments");
      var lastrow = sheet.getLastRow();
sheet.getRange(lastrow + 1, 1, csvData.length, csvData[0].length).setValues(csvData);
      file.setName(filename.slice(0,-3) + 'old');  //the .old files won't pass the file re filter next time. 
    }
  }
}

0 个答案:

没有答案