搜索查询字词和运算符

本参考指南提供了可与 Google Drive API 搭配使用来过滤文件、文件夹和共享云端硬盘的查询字词和运算符。

如需查看文件搜索示例,请参阅搜索文件和文件夹

如需了解如何搜索共享云端硬盘,请参阅搜索共享云端硬盘

查询字符串语法

查询字符串包含以下三个部分:

query_term operator values

其中:

  • query_term 是搜索查询字词或字段。

  • operator 指定查询字词的条件。

  • values 是您要用来过滤搜索结果的具体值。

查询运算符

下表列出了有效的查询运算符:

运算符 用法
contains 一个字符串的内容存在于另一个字符串中。
= 字符串或布尔值的内容与另一个内容相等。
!= 字符串或布尔值的内容不等于另一个。
< 一个值小于另一个值。
<= 一个值小于或等于另一个值。
> 某个值大于另一个值。
>= 一个值大于或等于另一个值。
in 元素包含在集合中。
and 返回与这两个查询都匹配的项。
or 返回与任一查询匹配的项。
not 对搜索查询进行否定运算。
has 集合包含与参数匹配的元素。

文件专用查询字词

下表列出了所有有效的文件查询字词。如需了解数据类型和说明,请参阅 files 资源参考。

查询字词 有效的运算符 用法
name contains=!= 文件的名称。用单引号 (') 括起来。使用 \' 对查询中的单引号进行转义,例如 'Valentine\'s Day'
fullText contains 文件内容或元数据中的 namedescriptionindexableText 属性或文本是否匹配。用单引号 (') 括起来。使用 \' 对查询中的单引号进行转义,例如 'Valentine\'s Day'
mimeType contains=!= 文件的 MIME 类型。用单引号 (') 括起来。使用 \' 转义查询中的单引号,例如 'Valentine\'s Day'。如需详细了解 MIME 类型,请参阅 Google Workspace 和 Google 云端硬盘支持的 MIME 类型
modifiedTime <=<=!=>>= 文件的上次修改日期。RFC 3339 格式,默认时区为 UTC,例如 2012-06-04T12:00:00-08:00。类型为 date 的字段无法相互比较,只能与常量日期进行比较。
viewedByMeTime <=<=!=>>= 用户上次查看文件的日期。RFC 3339 格式,默认时区为 UTC,例如 2012-06-04T12:00:00-08:00。类型为 date 的字段无法相互比较,只能与常量日期进行比较。
trashed =!= 文件是否位于回收站中。可以是 truefalse
starred =!= 文件是否已加星标。可以是 truefalse
parents in 父级集合是否包含指定的 ID。
owners in 文件所有者。
writers in 有权修改文件的用户或群组。请参阅 permissions 资源参考文档。
readers in 有权读取文件的用户或群组。请参阅 permissions 资源参考文档。
sharedWithMe =!= 用户的“与我共享”集合中的文件。所有文件用户都位于文件的访问控制列表 (ACL) 中。可以是 truefalse
createdTime <=<=!=>>= 共享云端硬盘的创建日期。使用 RFC 3339 格式,默认时区为 UTC,例如 2012-06-04T12:00:00-08:00
properties has 公开的自定义文件属性。
appProperties has 私有自定义文件属性。
visibility =!= 文件的可见性级别。有效值包括 anyoneCanFindanyoneWithLinkdomainCanFinddomainWithLinklimited。用英文单引号 (') 括起来。
shortcutDetails.targetId =!= 快捷方式指向的项的 ID。

以下示例展示了运算符和查询字词的组合:

  • contains 运算符仅对 name 字词执行前缀匹配。例如,假设您的名称为 HelloWorld。对 name contains 'Hello' 的查询会返回结果,但对 name contains 'World' 的查询不会。

  • contains 运算符仅对 fullText 字词的整个字符串令牌执行匹配。例如,如果文档的完整文本包含字符串“HelloWorld”,则只有查询 fullText contains 'HelloWorld' 会返回结果。

  • 如果字母数字字词用双引号括起来,contains 运算符会与完全匹配的字母数字字词匹配。例如,如果文档的 fullText 包含字符串“Hello there world”,则查询 fullText contains '"Hello there"' 会返回结果,但查询 fullText contains '"Hello world"' 不会。此外,由于搜索是字母数字的,因此如果文档的完整文本包含字符串“Hello_world”,则查询 fullText contains '"Hello world"' 会返回结果。

  • ownerswritersreaders 术语会间接反映在 permissions 列表中,并引用相应权限的 role。如需查看角色权限的完整列表,请参阅角色和权限

如需查看更多查询字符串搜索示例,请参阅文件查询字符串示例

针对共享云端硬盘的查询字词

下表列出了所有有效的共享云端硬盘查询字词。如需了解数据类型和说明,请参阅 drives 资源参考。

查询字词 有效的运算符 用法 useDomainAdminAccess 设置
createdTime <=<=!=>>= 共享云端硬盘的创建日期。RFC 3339 格式,默认时区为 UTC,例如 2012-06-04T12:00:00-08:00 true
hidden =!= 指定共享云端硬盘是否处于隐藏状态。可以是 truefalse false
memberCount <=<=!=>>= 共享云端硬盘的成员数量。接受数值。 true
name contains=!= 共享云端硬盘的名称。用单引号 (') 括起来。使用 \' 对查询中的单引号进行转义,例如 'Valentine\'s Day' true
organizerCount <=<=!=>>= 共享云端硬盘的组织者的数量。接受数值。 true
orgUnitId =!= 共享云端硬盘的组织部门 ID。接受字符串值。 true

如需查看更多查询字符串搜索示例,请参阅共享云端硬盘查询字符串示例