google-apps-script - 列出云端硬盘的内容(不超过配额)
问题描述
我在 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 个文件的信息。你知道如何在不升级我的帐户的情况下实现我想要的吗?
解决方案
您也许可以只获取文件 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('~~~'));
}
不管你怎么做。它归结为弄清楚如何以小批量进行。
推荐阅读
- c# - 在堆积条形图上获取平均值而不是总计?
- docker - Docker 生成带有备份数据的容器
- reactjs - 作为道具传递给子组件的 SWR 数据创建无限获取循环
- html - 在进入 Jinja2 模板中动态创建的链接之前,如何使用确认模型?
- android - Android Emulator Location mocking with geo fix
- javascript - NiodeJS/如何在不下载的情况下找到外部托管图像的大小?
- julia - 朱莉娅 ReinforcementLearning.jl 中的神经网络架构
- python - 如何在 Pygame 中继续声音?
- android - android手动类型日期上的HTML日期选择器
- azure - 如何将 .app 文件从 Azure Pipeline 中的 .yml 文件部署到 Visual Studio App Center?