繁体   English   中英

G AppScript 搜索文件

[英]G AppScript Search Files

我正在尝试编写一个脚本,允许我在所有谷歌驱动器中搜索,包括共享团队和子文件夹(许多子文件夹)

使用我写的内容,我找不到所有文件,事实上,我从网页上看到的文件与脚本返回给我的文件之间存在差异

这只是脚本的一部分,当找到文件时,它会被移动到一个文件夹中。 我有几个文件要移动,通过浏览器无法管理。

function SearchFiles() {
  //Please enter your search term in the place of Letter
  var searchFor ='title contains "find ME"';
  var names =[];
  //var fileIds=[];
  var files = DriveApp.searchFiles(searchFor);
  while (files.hasNext()) {
    var file = files.next();
    //var fileId = file.getId();// To get FileId of the file
    //fileIds.push(fileId);
    var name = file.getName();
    names.push(name);

  }

  for (var i=0;i<names.length;i++){
    Logger.log(names[i]);
    //Logger.log("https://drive.google.com/uc?export=download&id=" + fileIds[i]);

  }

}

要查找所有文件,包括共享驱动器上的文件,您需要使用Advanced Drive Service而不是DriveApp

获取用户云端硬盘中所有文件的集合

  • 相反,基于Drive API v2Advanced Drive Service允许您将参数supportsAllDrivesincludeItemsFromAllDrives设置为true ,从而从所有 Drives 中获取结果
  • 要使用Advanced Drive Service ,首先您需要按照说明启用它
  • 然后,您可以使用方法Files: list查询参数q设置为title contains 'find ME'

在 Apps 脚本中,它可能如下所示:

function SearchFiles() {
  var searchFor ='title contains "findMe"';
  var files = Drive.Files.list({supportsAllDrives: true, includeItemsFromAllDrives: true, q: searchFor}).items;
  for (var i=0; i<files.length; i++){
    Logger.log(files[i].title);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM