I created a script to get the name and link file based on Folder ID. The file name and link are displayed on sheet 'Get_Link'.
File spreadsheet
The script that I wrote like this:
function listFilesInFolder(folderName) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Get_Link');
//sheet.appendRow(["File Name","URL"]);
var folderID = [];
folderID = SpreadsheetApp.getActive()
.getRange('Folder_ID!A2:B')
.getValues()
.reduce(function(p, c) {
if (c[0] !== '' && c[1] !== '') {
p.push( DriveApp.getFolderById(c[1]).getFiles() );
return p; }
}, []);
//var searchTerm = Browser.inputBox("Masukkan Folder ID:");
//var folder = DriveApp.getFolderById(searchTerm);
//var contents = folder.getFiles();
var cnt = 0;
var file;
while (folderID.hasNext()) {
var file = folderID.next();
cnt++;
data = [
file.getName(),
file.getUrl(),
];
sheet.appendRow(data);
};
};
Best Answer
How about the following modifications? I think that there are 2 modification points in your script.
Modification points:
folderID
becomesundefined
.folderID
has values, an error occurs atwhile (folderID.hasNext()) {
. BecausefolderID
is an array.When above points are reflected to your script, it becomes as follows.
From:
To:
and
From:
To:
If I misunderstood your question and this was not the result you want, I apologize.