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访问“我的驱动器”文件夹没有结果”我确认,我的驱动器不是文件夹名称,而是根文件夹。请使用“真实”文件夹名尝试您的代码。