使用多个参数搜索Google云端硬盘

时间:2018-08-27 19:17:48

标签: google-apps-script google-sheets google-drive-api

我正在尝试使用mimeTypenameContains查找名称为“ Speed”的电子表格文件(通过fullTextContains)。

如果仅放置fullTextContainsname contains或其他任何可行的方法,但如果将其与方法mimeType结合使用,则将获取所有电子表格文件,而不仅仅是特定的匹配项。

我当前的脚本:

function SearchFiles() {
  var searchFor = { 'name contains': "Vel", 'mimeType': "spreadsheet" };
  var names = [];
  var fileIds = [];
  var files = DriveApp.searchFiles(searchFor);
  while (files.hasNext()) {
    var file = files.next();
    var fileId = file.getId();
    fileIds.push(fileId);
    var name = file.getName();
    names.push(name);
  ...

1 个答案:

答案 0 :(得分:3)

您将获得隐式对象->字符串转换,因为DriveApp.searchFiles方法采用一个String参数,而不是Object。考虑改而构建一个符合expected syntax的显式且有效的查询字符串。

一个例子:

var qs = "name contains 'Vel' and mimeType='" + MimeType.GOOGLE_SHEETS + "'";
var results = DriveApp.searchFiles(qs);