【问题标题】:List files inside a google drive folder in spreadsheets在电子表格中列出 Google Drive 文件夹中的文件
【发布时间】:2020-12-06 23:45:06
【问题描述】:

我有一个文件夹:https://drive.google.com/drive/folders/1_70Q4BPQrOHCQU4eUleEPuxbr0hpfhBB

这个文件夹里面有一些文件。我想创建一个 google-appscript 来列出电子表格中的文件,以使其看起来尽可能接近:https://docs.google.com/spreadsheets/d/11KQYtJvEi1nbw0Awp7xgitOPgc9RhkMLICBGvvJrYlU/edit#gid=0

我该怎么做?

【问题讨论】:

    标签: google-apps-script google-sheets google-drive-api


    【解决方案1】:

    解决方案:

    以下代码将完成这项工作:

    function findFilesInfo() {
    
      const folderId = '1_70Q4BPQrOHCQU4eUleEPuxbr0hpfhBB'
      const folder = DriveApp.getFolderById(folderId)
      const files = folder.getFiles()
      const source = SpreadsheetApp.getActiveSpreadsheet();
      const sheet = source.getSheetByName('Página1');
      const data = [];
      
      while (files.hasNext()) {
          const childFile = files.next();
          var info = [ 
            childFile.getName(), 
            childFile.getUrl(),
            childFile.getLastUpdated(),
            Drive.Files.get(childFile.getId()).lastModifyingUser.displayName     
          ];
        
        data.push(info);
      }
      sheet.getRange(2,1,data.length,data[0].length).setValues(data);
    }
    

    要求:

    1. 创建一个名为 Página1 的工作表(当然你可以调整它 根据您的需要)具有以下结构:

    1. 在资源 > 高级 Google 服务中:启用 Drive API:

    1. 在此处指定文件夹的“folderID”:

      const folderId = '1_70Q4BPQrOHCQU4eUleEPuxbr0hpfhBB';
      

    限制:

    您不能在您的 google-sheet 文件中将findFilesInfo() 用作自定义函数。您可以通过点击播放按钮直接从谷歌脚本编辑器运行它:

    或者您可以创建一个自定义按钮(宏),您可以在其中从您的 google-sheet 文件中单击它并执行该功能。

    【讨论】:

    • 谢谢,很好的建议。如何将 folderId 设置为要在函数公式中输入的变量? findFilesInfo (x) 和 const folderId = x?
    • 我启用了 Drive API 但我仍然收到此错误:“错误异常:您无权调用 DriveApp.getFolderById。所需权限:(googleapis.com/auth/drive.readonly || googleapis.com/auth/drive) (林哈 12)."。我怎么能运球呢?
    • @MariosKaramanis OP 可能正在尝试将其用作自定义函数。 [避免无代码问题的原因之一是后续问题几乎没有调试细节]
    • @MariosKaramanis - 或者一个菜单项,如果我们列出了如何使用它的可能方法。好的和简单的解决方案,顺便说一句?
    • @OlegValter 谢谢!这就是我所说的宏按钮,一个菜单按钮。
    猜你喜欢
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多