我是javascript的初级用户,我正在尝试将我的google驱动器文件夹的名称和网址导出到工作表中。
我已从互联网上复制此代码。
function listFilesInFolder(Aman) {
var folder = DriveApp.getFoldersByName(Aman).next();
var contents = folder.getFiles();
var file, data, sheet = SpreadsheetApp.getActiveSheet();
sheet.clear();
sheet.appendRow(["Name", "Date", "Size", "URL", "Download", "Description", "Type"]);
for (var i = 0; i < contents.length; i++) {
file = contents[i];
if (file.getFileType() == "SPREADSHEET") {
continue;
}
data = [
file.getName(),
file.getDateCreated(),
file.getSize(),
file.getUrl(),
"https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
file.getDescription(),
file.getFileType().toString()
];
sheet.appendRow(data);
}
};
hitesh是我的文件夹的名称。
不幸的是,
我收到错误
即
无法检索下一个对象:迭代器已到达终点。 (第3行,文件“代码”)
如果我可以对此代码进行任何更改,也可以引导我,也可以抓取“hitesh”文件夹中的文件夹并发布相同的索引。
永远感激
此致
manak
答案 0 :(得分:0)
请注意,调用next()
将获取文件或文件夹集合中的下一个项目。因此,如果调用next()
将返回项目,您可能需要先检查。请尝试使用此条件包含您的代码,
while (files.hasNext()) {
}
此外,如果您的文件夹名称为hitesh
,那么您应该使用该文件夹,
var folder = DriveApp.getFoldersByName(Aman).next();
有关其他见解,请参阅此GitHub post和此SO post。