Google Apps脚本-最长执行时间

时间:2020-04-22 15:11:32

标签: performance google-apps-script google-drive-api max-execution-timeout

我正在使用GSuite Business,并且已经制作了一个Google Apps脚本,用于读取GDrive文件夹中的内容,并在A列中写入文件名,在B列中写入文件的GDrive链接。 我在此文件夹上有大约8800个文件,我超过了30分钟的执行时间配额。 目前,我没有解决此问题的想法。 我把脚本放到这里了...

此脚本对于查看要与我的电子商务同步的产品图片列表很有用。

function ImageDatabaseUpdate() {

  //read file on my drive foldeer -> 06 - usato fine serie
  var foldername = '06 - Usato e Fine serie';
  var folderlisting = 'Database GTLG ';

  var folders = DriveApp.getFoldersByName(foldername)
  var folder = folders.next();
  var contents = folder.getFiles();
  var contents = folder.getFiles();

  //Set file id and sheet Immagini
  var ss = SpreadsheetApp.openById("1ok2tfpLFRHE6I4ehR9lfsLwtFy1UfTdJqbi-NCqGVS0");
  var sheet = ss.getSheetByName('immagini');

  //Write heading on first sheet row
  sheet.appendRow(['name','link']);

  var file;
  var name;
  var link;
  var row; 

  //start reading and writing
  while(contents.hasNext()){
    file = contents.next();
    name = file.getName();
    link = file.getUrl();
    sheet.appendRow([name, link]);
  }
}

1 个答案:

答案 0 :(得分:0)

您的代码进入无限循环,因为您需要contents.next()才能移至下一个文件。由于folderIterator不会递增,因此while(contents.hasNext())将永远持续下去。