我試圖複製到步驟 https://ctrlq.org/code/19854-list-files-in-google-drive-folder谷歌腳本應用程序列表驅動器文件夾
它成功地在表中的列標題,但沒有得到/打印的任何數據行。我哪裏做錯了?
這是我有:
/* Code written by @hubgit
https://gist.github.com/hubgit/3755293
Updated since DocsList is deprecated
*/
function listFilesInFolder(folderName) {
var folder = DriveApp.getFoldersByName(folderName).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);
}
};
感謝,
您需要調試代碼。 'listFilesInFolder'函數是否接收到'folderName'?在函數的最頂端添加這行代碼:'Logger.log('folderName:'+ folderName);'。運行代碼,然後在VIEW菜單中選擇LOGS。日誌中是否打印了正確的文件夾名稱? –
謝謝@SandyGood。使用添加的部分運行時,我遇到了新的錯誤。 無法檢索下一個對象:迭代器已到達結尾。 (第8行,......) – rin
每當我試圖找到一個新的解決方案時,都會出現一個新的錯誤,如果使用docList,它會被折舊,如果我使用while(contents.hasNext()){ ( – rin