Google应用脚本时间触发错误

时间:2016-12-11 01:20:34

标签: google-apps-script

function try_A(){
   var range = SpreadsheetApp.getActiveSheet().getRange("B1");
   var url = range.getValue();
   var url_array = url.split('=');
   var id = url_array[1];
   var folder = DriveApp.getFolderById(id); 
}

因此,函数try_A读取链接到google驱动器文件夹的url,并解析它以获取文件夹ID。但是,如果我设置一个时间触发器,例如每隔1分钟调用一次,那么它会一直告诉我一个错误,例如无法找到相应ID的信息,或者我没有获得许可。错误对应到这一行:" var folder = DriveApp.getFolderById(id);"。但如果我手动运行此功能,则没有问题。这是为什么? Thx提前。

1 个答案:

答案 0 :(得分:1)

看起来你总是得到单元格" B1",所以你可以使用:

function try_A() {
  var ss,sh,range,url;

  ss = SpreadsheetApp.getActiveSpreadsheet();
  sh = ss.getSheetByName('name here');
  range = sh.getRange("B1");

  Logger.log('ss: ' + ss)//View the Logs to see what is printed
  Logger.log('sh: ' + sh)
  Logger.log('range: ' + range)

  url = range.getValue();
  Logger.log('url: ' + url)

  var url_array = url.split('=');
  var id = url_array[1];
  var folder = DriveApp.getFolderById(id); 
}