搜索查询字词和运算符

本参考指南提供了可与 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:00date 类型的字段彼此无法比较,只能与常量日期进行比较。
viewedByMeTime <=<=!=>>= 用户上次查看文件的日期。RFC 3339 格式,默认时区为世界协调时间 (UTC),例如 2012-06-04T12:00:00-08:00date 类型的字段彼此无法比较,只能与常量日期进行比较。
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

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