搜索查询字词和运算符

本参考指南提供了可与 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

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