Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google脚本获取父文件夹中的文件夹名称_Javascript_Google Apps Script_Google Drive Api_Directory - Fatal编程技术网

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

Javascript Google脚本获取父文件夹中的文件夹名称,javascript,google-apps-script,google-drive-api,directory,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.

我需要获取指定文件夹中文件夹的名称和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或文件夹名称。这两个变量都未定义,但没有错误

您可以尝试以下方法:

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());
}
这是一个未经测试的代码,如果出现任何问题,请告诉我,我很乐意帮助我们

谢谢你可以试试这个:

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());
}
这是一个未经测试的代码,如果出现任何问题,请告诉我,我很乐意帮助我们


谢谢下面列出了指定文件夹的所有子文件夹名称和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);
  }
};

下面列出了指定文件夹的所有子文件夹名称和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);
  }
};

它会运行,但由于某些原因,URL和文件夹名称不会被记录。我设置为folder.getname()和folder.getUrl()的变量未定义,由这些变量构建的数组也未定义。所以我实际上并没有提取名称或URL。它适用于没有问题的文件,但似乎不适用于文件夹?Umair,您的原始代码适用于我。可能您遇到了缓存或延迟问题。此外,我还看到了一些奇怪的事情,比如Logger.log(folder.getUrl())无法工作,但是如果将它分成两行,比如x=folder.getUrl();Logger.log(x);-那就行了。不知道为什么。抱歉,伙计们,回复晚了。我已经测试了我的代码,它似乎对我来说很好。如果你能告诉我更多的细节,关于你期望从中得到什么,或者你想要实现什么,那么也许我能帮助你们更多。它运行,但由于某些原因,URL和文件夹名称没有被记录。我设置为folder.getname()和folder.getUrl()的变量未定义,由这些变量构建的数组也未定义。所以我实际上并没有提取名称或URL。它适用于没有问题的文件,但似乎不适用于文件夹?Umair,您的原始代码适用于我。可能您遇到了缓存或延迟问题。此外,我还看到了一些奇怪的事情,比如Logger.log(folder.getUrl())无法工作,但是如果将它分成两行,比如x=folder.getUrl();Logger.log(x);-那就行了。不知道为什么。抱歉,伙计们,回复晚了。我已经测试了我的代码,它似乎对我来说很好。如果你能告诉我更多关于你期望从中得到什么或你想要实现什么的细节,那么我可能能为你们提供更多帮助。你确定你使用的文件夹id正确吗?它可以工作,错误与这里没有描述的另一部分代码有关。谢谢你的帮助。下次创建:)你确定你使用的文件夹id正确吗?它可以工作,错误是代码的另一部分没有在这里描述。感谢您的帮助。下次创建:)