Nugroho's blog.: List Files and Folder in Certain Folder in Google Drive using Google App Script

Thursday, October 22, 2015

List Files and Folder in Certain Folder in Google Drive using Google App Script

 Here it is.

 I used getFolderById() to determine the folder I want to list the files and folders inside.  I used home as variable name of the folder

 home.getFiles() is used to gets a collection of all files in home.

 home.getFolders() is used to gets a collection of all folders in home.

I have list and row  as array or tuple or 'list' to accommodate the result. Maybe it's wasting time to have two variable, but I plan to write code to list 'files and folders inside subfolders' recursively. I know maybe it didn't even need that array variable, :). But just in case...

function listFilesNFolders(form) {
var list = [];
list.push(['tadaa...<br>']);
list.push(['heheh...']);
var row = [];
row.push('<br> Hello World!!! ');
list.push(row);


var home = DriveApp.getFolderById('0BxZS62a5NdNYUGxySmp2QW41OUU');
// Log the name of every file in the user's Drive.
var files = home.getFiles();
list.push('<br>Files:');
while (files.hasNext()) {
var file = files.next();
list.push('<br>-',file.getName());
//Logger.log(file.getName());
}
// Log the name of every folder in the user's Drive.
var folders = home.getFolders();
list.push('<br>Folders:');
while (folders.hasNext()) {
var folder = folders.next();
list.push('<br>-',folder.getName());
//Logger.log(folder.getName());
}


return list;
}

function doGet(e) {
return HtmlService.createHtmlOutputFromFile('form.html');
}


The Form

  <form id="myForm">
<input type="submit"
value="OK"
onclick="
this.value='Proses';
google.script.run.withSuccessHandler(fileUploaded).listFilesNFolders(this.parentNode);
return false;
"
>

</form>

<div id="output"></div>

<script>
function fileUploaded(status) {
document.getElementById('myForm').style.display = 'none';
document.getElementById('output').innerHTML = status;
}
</script>

<style>
input { display:block; margin: 20px; }
</style>

The Result


No comments:

323f (5) amp (1) android (12) apple (7) arduino (18) art (1) assembler (21) astina (4) ATTiny (23) blackberry (4) camera (3) canon (2) cerita (2) computer (106) crazyness (11) debian (1) delphi (39) diary (286) flash (8) fortran (6) freebsd (6) google apps script (8) guitar (2) HTML5 (10) IFTTT (7) Instagram (7) internet (12) iOS (5) iPad (6) iPhone (5) java (1) javascript (1) keynote (2) LaTeX (6) lazarus (1) linux (29) lion (15) mac (28) macbook air (8) macbook pro (3) macOS (1) Math (3) mathematica (1) maverick (6) mazda (4) microcontroler (35) mountain lion (2) music (37) netbook (1) nugnux (6) os x (36) php (1) Physicist (29) Picture (3) programming (189) Python (109) S2 (13) software (7) Soliloquy (125) Ubuntu (5) unix (4) Video (8) wayang (3) yosemite (3)