本指南介绍了 Google 云端硬盘 API 如何支持多种搜索共享云端硬盘的方式。
如需搜索特定的一组共享云端硬盘,请对 drives 资源使用 list 方法,并结合使用一个或多个搜索词来过滤要返回的云端硬盘,方法是使用查询字符串 q 字段
。
查询字符串包含以下三个部分:
query_term operator values
其中:
query_term是要搜索的查询词或字段。operator指定查询词的条件。values是您要用于过滤搜索结果的特定值。
例如,以下查询字符串会过滤搜索结果,使其仅返回名称为“Google Drive API resources”的共享云端硬盘。
q: name = 'Google Drive API resources' & useDomainAdminAccess=false
如需查看所有共享云端硬盘查询词,请参阅特定于共享云端硬盘的查询词。
如需查看可用于构建查询的所有查询运算符,请参阅查询 运算符。
查询字符串示例
下表列出了一些共享云端硬盘的基本查询字符串示例。实际代码因您用于搜索的客户端库而异。
您还必须转义文件名中的特殊字符,以确保查询正常运行。例如,如果文件名同时包含撇号
(') 和反斜线 ("\") 字符,请使用反斜线对其进行转义:name
contains 'quinn\'s paper\\essay'。
| 要查询的内容 | 示例 | useDomainAdminAccess 设置 |
|---|---|---|
字符串匹配运算符 (contains) |
||
| 在用户所属的所有共享云端硬盘中,标题中包含“confidential”一词的共享云端硬盘 | name contains 'confidential' |
false |
等式和不等式运算符 (=, !=) |
||
| 在默认视图中可见的共享云端硬盘 | hidden = false |
false |
| 在默认视图中隐藏的共享云端硬盘 | hidden = true |
false |
| 没有分配组织者的共享云端硬盘 | organizerCount = 0 |
true |
| 只有一位成员的共享云端硬盘 | memberCount = 1 |
true |
| 属于组织部门 ID 的共享云端硬盘 | orgUnitId = 'C03az79cb' |
true |
| 不包含组织部门 ID 的共享云端硬盘 | orgUnitId != 'C03az79cb' |
true |
| 名称与特定名称不匹配的共享云端硬盘 | name != 'Archived Projects' |
true |
比较运算符 (>, >=, <, <=) |
||
| 在 2017 年 6 月 1 日之后创建的共享云端硬盘 | createdTime > '2017-06-01T12:00:00' |
true |
| 在 2023 年 1 月 1 日之前创建的共享云端硬盘 | createdTime < '2023-01-01T00:00:00' |
true |
| 有多位成员的共享云端硬盘 | memberCount > 1 |
true |
| 成员少于 5 位的共享云端硬盘 | memberCount < 5 |
true |
| 组织者不超过 3 位的共享云端硬盘 | organizerCount <= 3 |
true |
逻辑运算符 (and, or, not) |
||
| 标题中包含“confidential”一词且成员不少于 20 位的共享云端硬盘 | name contains 'confidential' and memberCount >= 20 |
true |
| 在组织的所有共享云端硬盘中,标题中包含“confidential”一词的共享云端硬盘 | name contains 'confidential' and orgUnitId = 'C03az79cb' |
true |
| 名称中包含“Project”或“Archive”的共享云端硬盘 | name contains 'Project' or name contains 'Archive' |
true |
| 名称中不包含“Draft”的共享云端硬盘 | not name contains 'Draft' |
true |
| 不属于目标组织部门且在特定日期之后创建的共享云端硬盘 | orgUnitId != 'C03az79cb' and createdTime > '2023-01-01T00:00:00' |
true |
使用括号查询多个词语
您可以使用括号将多个查询词组合在一起。例如,如需搜索在特定日期之后创建的共享云端硬盘,且这些共享云端硬盘的组织者超过 5 位或成员超过 20 位,请使用以下查询:
createdTime > '2019-01-01T12:00:00' and (organizerCount > 5 or memberCount > 20)
此搜索会返回在 2019 年 1 月 1 日之后创建的所有共享云端硬盘,且这些共享云端硬盘的组织者超过 5 位或成员超过 20 位。
Drive API 会从左到右评估 and 和 or 运算符,因此,如果不使用括号,则相同的搜索会返回:
- 仅返回在 2019 年 1 月 1 日之后创建且组织者超过 5 位的共享云端硬盘。
- 返回所有成员超过 20 位的共享云端硬盘,即使这些共享云端硬盘是在 2019 年 1 月 1 日之前创建的。