搜索查询字词和运算符

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

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