Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
Google apps script &引用;无法检索下一个对象:迭代器已到达末尾";列出文件时出错_Google Apps Script_Google Drive Api - Fatal编程技术网

Google apps script &引用;无法检索下一个对象:迭代器已到达末尾";列出文件时出错

Google apps script &引用;无法检索下一个对象:迭代器已到达末尾";列出文件时出错,google-apps-script,google-drive-api,Google Apps Script,Google Drive Api,我正试图在谷歌应用程序脚本中编写一个函数,列出我的谷歌驱动器文件夹中的所有文件 下面的代码返回: 异常:无法检索下一个对象:迭代器已到达末尾` 在文件中循环时。它可以在大多数文件夹上工作,直到出现异常而失败。你知道是什么导致了这次爆炸吗 function listAllFilesInFolder() { var foldername = 'My Drive'; var filenames = 'filenames_' + foldername; var folders = Driv

我正试图在谷歌应用程序脚本中编写一个函数,列出我的谷歌驱动器文件夹中的所有文件

下面的代码返回:

异常:无法检索下一个对象:迭代器已到达末尾`

在文件中循环时。它可以在大多数文件夹上工作,直到出现异常而失败。你知道是什么导致了这次爆炸吗

function listAllFilesInFolder() {
  var foldername = 'My Drive';
  var filenames = 'filenames_' + foldername;

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

  var ss = SpreadsheetApp.create(filenames);
  var sheet = ss.getActiveSheet();

  var file;
  var data = [];
  var files = folder.getFiles();

  while (files.hasNext()) {
    file = files.next();
    data.push([
      file.getName()
    ]);
  }
  sheet.getRange(1, 1, data.length, data[0].length).setValues(data);
}

我认为
var folder=folders.next()此行导致错误,您应该首先检查
hasNext
。您的代码看起来正常。你确定这就是你正在运行的代码吗?例如,你没有第二次调用
files.next()
?尝试添加
文件。hasNext()
!!files.hasNext()
。此外,您还应该记录
文件
,以查看在异常发生之前它是否有任何异常(或捕获异常并将其记录在那里)。我的想法是OP正在手动更改
foldername
并执行此独立脚本。请注意,“我的驱动器”实际上不是名称-如果是这样,请将标题重新编辑为“使用getFoldersByName访问“我的驱动器”文件夹没有结果”我确认,我的驱动器不是文件夹名称,而是根文件夹。请使用“真实”文件夹名尝试您的代码。