使用多个参数搜索 Google Drive

Leo*_* K. 3 google-sheets google-apps-script google-drive-api

我正在尝试mimeType使用nameContainsfullTextContains.

如果我只使用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);
  ...
Run Code Online (Sandbox Code Playgroud)

teh*_*wch 6

您正在获得隐式 object->String 转换,因为该DriveApp.searchFiles方法采用String参数,而不是Object. 相反,请考虑构建符合预期语法的明确且有效的查询字符串。

一个例子:

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