此代码在文件夹中搜索某些文件。它在我的驱动器上运行良好,但我需要它作为我公司中的共享文件夹,并且它不获取文件名和in。我读过关于{supportsAllDrives: true}的文章,但是我不知道如何在代码中实现它(我甚至不知道它是否是解决方案)。在我的项目中启用了驱动器API和DriveActivity API。
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);
谢谢
发布于 2022-07-02 16:39:35
最后,我使用这个方法来过滤文件。它在共享驱动器上运行得很好。
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是一样的吗?因为我找不到云服务中的高级驱动服务。
发布于 2022-07-01 09:19:40
你试过这样吗?
var findings = Drive.Files.list( {
q: query,
useDomainAdminAccess: true
}) || [];
发布于 2022-07-01 09:42:38
改变这一点:
var findings = Drive.Files.list({ q: query }) || [];
对此:
var findings = Drive.Files.list({ q: query, supportsAllDrives: true }) || [];
记住,您使用的是驱动器v2 (而不是v3)。
文档
https://stackoverflow.com/questions/72826158
复制相似问题