本参考指南提供了可与 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 | 
如需查看更多查询字符串搜索示例,请参阅共享云端硬盘查询字符串示例。