首页 > 解决方案 > 列出云端硬盘的内容(不超过配额)

问题描述

我在 Google Drive 中有一个文件夹,其中包含过去 40 年的档案。我想获取此文件夹中每个文件的名称及其在 Google 表格中的 ID。

我编写了一个谷歌脚本来读取文件夹的所有内容并将每个文件的信息附加到特定的谷歌表格上。每次运行脚本时,Google 表格都会完全清晰并重新构建。

while(contenuDossierRapports.hasNext()) {
  rapport = contenuDossierRapports.next();

  nom_rapport = rapport.getName().split(".")[0];
  id = rapport.getId();
  telechargement = "https://drive.google.com/uc?export=download&id=" + id;
  if (nom_rapport != "Rapports") {
   feuille.appendRow( [ nom_rapport, telechargement, id] );
  }       
}

一个 Google Script 最多只能运行 6 分钟,而且由于我的文件太多,该脚本只有时间写入大约 2000 个文件的信息。你知道如何在不升级我的帐户的情况下实现我想要的吗?

标签: google-apps-scriptgoogle-sheetsgoogle-drive-api

解决方案


您也许可以只获取文件 ID,然后以 1000 个为单位进行处理。

function getFileNames() {
  var fA=[];
  var folder=DriveApp.getFolderById('FolderId')
  var files=folder.getFiles();
  while(files.hasNext()) {
    fA.push(files.next().getId());
  }
  Logger.log(fA.join('~~~'));
}

不管你怎么做。它归结为弄清楚如何以小批量进行。


推荐阅读