本参考指南提供了可与 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 |
name、description、indexableText 属性或文件内容中的文本或文件的元数据是否匹配。用英文单引号 (') 将其括起来。使用 \' 转义查询中的英文单引号,例如 '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 |
=、!= |
文件是否位于回收站中。可以是 true 或 false。 |
starred |
=、!= |
文件是否已加星标。可以是 true 或 false。 |
parents |
in |
父级集合是否包含指定的 ID。 |
owners |
in |
拥有文件的用户。 |
writers |
in |
有权修改文件的用户或群组。请参阅 permissions 资源参考文档。 |
readers |
in |
有权读取文件的用户或群组。请参阅 permissions 资源参考文档。 |
sharedWithMe |
=、!= |
位于用户的“与我共享”集合中的文件。所有文件用户都在文件的访问控制列表 (ACL) 中。可以是 true 或 false。 |
createdTime |
<=、<、=、!=、>、>= |
文件的创建日期。使用 RFC 3339 格式,默认时区为 UTC,例如 2012-06-04T12:00:00-08:00。 |
properties |
has |
公共自定义文件属性。 |
appProperties |
has |
私有自定义文件属性。 |
visibility |
=、!= |
文件的可见性级别。有效值包括 anyoneCanFind、anyoneWithLink、domainCanFind、domainWithLink 和 limited。用英文单引号 (') 将其括起来。 |
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"'仍会返回结果,因为 文档字符串中的下划线会被视为空格。
owners、writers和readers字词间接反映在permissions列表中,并引用权限的role。如需查看角色权限的完整列表,请参阅角色和 权限。
如需查看更多查询字符串搜索示例,请参阅文件查询字符串示例。
特定于共享云端硬盘的查询字词
下表列出了所有有效的共享云端硬盘查询字词。如需了解数据类型和
说明,请参阅 drives 资源参考文档。
| 查询字词 | 有效运算符 | 用法 | useDomainAdminAccess 设置 |
|---|---|---|---|
createdTime |
<=、<、=、!=、>、>= |
共享云端硬盘的创建日期。RFC 3339 格式,默认时区为 UTC,例如 2012-06-04T12:00:00-08:00。 |
true |
hidden |
=、!= |
指定共享云端硬盘是否处于隐藏状态。可以是 true 或 false。 |
false |
memberCount |
<=、<、=、!=、>、>= |
共享云端硬盘的成员(用户和群组)数量。采用数值。 | true |
name |
contains、=、!= |
共享云端硬盘的名称。用英文单引号 (') 将其括起来。使用 \' 转义查询中的英文单引号,例如 'Valentine\'s Day'。 |
true |
organizerCount |
<=、<、=、!=、>、>= |
共享云端硬盘的组织者(用户和群组)数量。采用数值。 | true |
orgUnitId |
=、!= |
共享云端硬盘的组织部门 ID。采用字符串值。 | true |
如需查看更多查询字符串搜索示例,请参阅共享云端硬盘查询字符串 示例。