列出电子表格中Google驱动器文件夹中的文件

问题描述

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

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

enter image description here

我该怎么办?

解决方法

解决方案:

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

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的工作表(您当然可以对其进行调整 根据您的需求)具有以下结构:

structure

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

enable

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

    const folderId = '1_70Q4BPQrOHCQU4eUleEPuxbr0hpfhBB';
    

限制:

不能在您的Google工作表文件中使用findFilesInfo()作为自定义功能。您可以通过点击播放按钮直接从Google脚本编辑器运行它:

restriction

或者您可以创建一个自定义按钮(宏),您可以在其中从Google工作表文件中单击该按钮并执行该功能。