首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Apps脚本在共享驱动器中查找文件

使用Apps脚本在共享驱动器中查找文件
EN

Stack Overflow用户
提问于 2022-07-01 08:02:16
回答 3查看 256关注 0票数 2

此代码在文件夹中搜索某些文件。它在我的驱动器上运行良好,但我需要它作为我公司中的共享文件夹,并且它不获取文件名和in。我读过关于{supportsAllDrives: true}的文章,但是我不知道如何在代码中实现它(我甚至不知道它是否是解决方案)。在我的项目中启用了驱动器API和DriveActivity API。

代码语言:javascript
运行
复制
var expFolder = carpetabasecs.searchFolders(searchFor);
  while (expFolder.hasNext()) {
var expFolderDef = expFolder.next();
var expFolderId = expFolderDef.getId();

var mask = 'TXT';
var query = `title contains "${mask}" and trashed = false and "${expFolderId}" in parents`;
var findings = Drive.Files.list({ q: query }) || [];
var table = [['Archivos exportados', 'IDs'], ...findings.items.map(f => [f.title, f.id]).sort()];

sh.getRange(2,1,table.length,2).setValues(table);

谢谢

EN

回答 3

Stack Overflow用户

发布于 2022-07-02 16:39:35

最后,我使用这个方法来过滤文件。它在共享驱动器上运行得很好。

代码语言:javascript
运行
复制
  var suffix = 'TXT' // adapt as necessary
  var list = [];
  var files = expFolderDef.getFiles();
  while (files.hasNext()) {
    file = files.next();
    list.push([file.getName(),file.getId()])
  }
  var result = [['Archivos exportados','IDs'], ...list.filter(r => r[0].includes(suffix)).sort()]
  sh.getRange(2,1, result.length, result[0].length).setValues(result);

无论如何,我仍然对如何使用Drive.Files.list命令感兴趣,useDomaininAdminAccess和supportAllDrives并不能使其工作。我读过命令在中,那个API和Drive是一样的吗?因为我找不到云服务中的高级驱动服务。

票数 1
EN

Stack Overflow用户

发布于 2022-07-01 09:19:40

你试过这样吗?

代码语言:javascript
运行
复制
var findings = Drive.Files.list( { 
    q: query,
    useDomainAdminAccess: true
  }) || [];
票数 0
EN

Stack Overflow用户

发布于 2022-07-01 09:42:38

改变这一点:

代码语言:javascript
运行
复制
var findings = Drive.Files.list({ q: query }) || [];

对此:

代码语言:javascript
运行
复制
var findings = Drive.Files.list({ q: query, supportsAllDrives: true }) || [];

记住,您使用的是驱动器v2 (而不是v3)。

文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72826158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档