用于获取父文件夹中的文件夹名称的Google脚本

时间:2017-12-14 09:35:25

标签: javascript google-apps-script google-drive-api directory

我需要获取指定文件夹中文件夹的名称和URL。

这是我的尝试:

// set the folder to pull folder names from
var DDparentid = "IDhere";
var DDparent = DriveApp.getFolderById(DDparentid);
var DDfolders = DDparent.getFolders();

// iterate through folders in the folder
while (DDfolders.hasNext()) {
    var folder = DDfolders.next();

    // get folder name
    Logger.log(folder.getName());

    var DDnames = folder.getName();

    // get the url       
    Logger.log(folder.getUrl());

    var DDURLs = folder.getUrl();
}

这适用于获取文件URL,但我认为文件夹的处理方式不同,并且getfolder的使用方式不同。我收到一条错误,指出字符串不适合DriveApp.getfolder()。我应该如何使用getfolder?

编辑:运行,buit实际上并没有提取URL或文件夹名称。两个变量都是未定义的,但没有错误。

2 个答案:

答案 0 :(得分:1)

下面列出了指定文件夹的所有子文件夹名称和URL:

function listSubFoldersInFolder(id) {
  var dfolder = DriveApp.getFolderById('ENTER_PARENT_FOLDER_ID_HERE');
  var contents = dfolder.getFolders();
  var file;
  var name;
  var sheet = SpreadsheetApp.getActiveSheet();
  var link;

  sheet.clear();
  sheet.appendRow(["Name", "Link"]);


  while(contents.hasNext()) {
    file = contents.next();
    name = file.getName();
    link = file.getUrl();
    data = [name, link]
    sheet.appendRow(data);
  }
};

答案 1 :(得分:0)

你可以试试这个:

var parentFolderId = "xxxxxxxIDxxxxxxx";
var parentFolder = DriveApp.getFolderById(parentFolderId);
var folders = parentFolder.getFolders();
var folder;
// iterate through folders in the folders fetched from parent folder
while (folders.hasNext()) {
    folder = folders.next();
    // get folder name
    Logger.log(folder.getName());
    // get the url       
    Logger.log(folder.getUrl());
}

这是一个未经测试的代码,如果出现任何问题,请与我们联系。我们很乐意帮助我们。

由于