【问题标题】:Get list of folders on Gsuite google drive, list them alphabetically on a Google Sheet获取 Gsuite google drive 上的文件夹列表,在 Google Sheet 上按字母顺序列出
【发布时间】:2020-01-14 17:20:41
【问题描述】:

尝试在 Gsuite 共享驱动器中获取文件夹列表(不是子文件夹或文件)以填充 Google 表格工作表,但以下脚本在第一次后失败,并且在我重新运行时不会覆盖列表。

我尝试了很多变体,但我的问题是: 1. 我很想制作一个显示 html 的第三列 2. 脚本运行一次,但当我刷新或在工作表上放置触发器时,它不再运行或更新。

这是我当前的代码:

function listFilesInFolder(folderName) {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow(["Name", "File-Id"]);
//change the folder ID below to reflect your folder's ID (look in the            URL when you're in your folder)
var folder = DriveApp.getFolderById("0ADTcDD3ZSaa5Uk9PVA");
var contents = folder.getFolders()

var cnt = 0;
var file;

while (contents.hasNext()) {
    var file = contents.next();
    cnt++;

       data = [
            file.getName(),
            file.getId(),
        ];

        sheet.appendRow(data);
    };
};

关于如何: 1. 获取 Google 表格上每小时更新的文件夹列表? 2.修复文件夹列表没有更新/覆盖的错误? 3.将每个文件夹的html添加到第三列? 4. 列表是否按字母顺序生成?

在此先感谢您!

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:
    function listFoldersInAFolder() {
      var ss=SpreadsheetApp.getActive();
      var sh=ss.getActiveSheet();
      sh.clearContents();
      sh.appendRow(["Name", "Folder-URL"]);
      var fA=[];
      var folders=DriveApp.getFolderById("folder id").getFolders();//Enter folder id
      while (folders.hasNext()) {
        var folder= folders.next();
        fA.push([folder.getName(),folder.getUrl()]);
      }
      sh.getRange(sh.getLastRow()+1,1,fA.length,2).setValues(fA);
      sh.getRange(2,1,sh.getLastRow()-1,2).sort({column:1,ascending:true});
    }
    

    如果你想获取所有文件夹和子文件夹,你将不得不递归它们。这是一个例子:https://stackoverflow.com/a/55248127/7215091

    【讨论】:

    • 谢谢库珀——它真的很好用!出色的!最后一项 - 我想更改 folder.getId() 以生成指向该文件夹的超链接(在 Gsuite 共享驱动器中)。或者,我可以附加“drive.google.com/drive/folders”文本和文件夹 ID 以生成超链接。关于生成超链接有什么建议吗?
    • 我可以更改它以获取 URL
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 2010-11-08
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多