В этом руководстве объясняется, как API Google Drive поддерживает несколько способов поиска по общим дискам.
Для поиска определенного набора общих дисков используйте поле строки запроса q с методом list ресурса drives , чтобы отфильтровать возвращаемые диски, комбинируя один или несколько поисковых запросов.
Запросная строка состоит из следующих трех частей:
query_term operator values
Где:
query_term— это поисковый запрос или поле, по которому будет производиться поиск.operatorзадает условие для поискового запроса.values— это конкретные значения, которые вы хотите использовать для фильтрации результатов поиска.
Например, следующая строка запроса фильтрует поиск, чтобы возвращать только общие диски с именем "Ресурсы API Google Drive".
q: name = 'Google Drive API resources' & useDomainAdminAccess=false
Чтобы просмотреть все поисковые запросы для общих дисков, см. раздел «Поисковые запросы, специфичные для общих дисков» .
Чтобы просмотреть все операторы запросов, которые можно использовать для построения запроса, см. раздел «Операторы запросов» .
Примеры строк запроса
В таблице ниже приведены примеры некоторых базовых строк запроса для общих дисков. Фактический код может отличаться в зависимости от используемой клиентской библиотеки для поиска.
Для корректной работы запроса необходимо также экранировать специальные символы в именах файлов. Например, если имя файла содержит как апостроф ( ' ), так и обратную косую черту ( "\" ), используйте обратную косую черту для их экранирования: name contains 'quinn\'s paper\\essay' .
| Что следует запросить | Пример | параметр useDomainAdminAccess |
|---|---|---|
Оператор сопоставления строк ( contains ) | ||
| Среди всех общих дисков, участником которых является пользователь, отображаются общие диски, в названии которых содержится слово «конфиденциально». | name contains 'confidential' | false |
Операторы равенства и неравенства ( = , != ) | ||
| Общие диски, отображаемые в представлении по умолчанию. | hidden = false | false |
| Общие диски скрыты из стандартного представления. | hidden = true | false |
| Общие диски без назначенного организатора | organizerCount = 0 | true |
| Общие диски предоставлены ровно одному участнику. | memberCount = 1 | true |
| Общие диски, принадлежащие идентификатору организационного подразделения. | orgUnitId = 'C03az79cb' | true |
| Общие диски, не содержащие идентификатор организационной единицы. | orgUnitId != 'C03az79cb' | true |
| Общие диски, имена которых не соответствуют определенному имени. | name != 'Archived Projects' | true |
Операторы сравнения ( > , >= , < , <= ) | ||
| Общие диски, созданные после 1 июня 2017 года. | createdTime > '2017-06-01T12:00:00' | true |
| Общие диски, созданные до 1 января 2023 года. | createdTime < '2023-01-01T00:00:00' | true |
| Совместное использование дисков более чем одним пользователем. | memberCount > 1 | true |
| Общие диски с числом участников менее 5 | memberCount < 5 | true |
| Общие диски с 3 или менее организаторами | organizerCount <= 3 | true |
Логические операторы ( and , or , not ) | ||
| Общие диски, в названии которых содержится слово «конфиденциально», и на которых зарегистрировано 20 или более пользователей. | name contains 'confidential' and memberCount >= 20 | true |
| Среди всех общих дисков организации обнаружены диски, в названии которых содержится слово «конфиденциально». | name contains 'confidential' and orgUnitId = 'C03az79cb' | true |
| Общие диски, имена которых содержат либо «Проект», либо «Архив». | name contains 'Project' or name contains 'Archive' | true |
| Общие диски, в названии которых нет слова «Черновик». | not name contains 'Draft' | true |
| Общие диски, не принадлежащие целевому организационному подразделению и созданные после определенной даты. | orgUnitId != 'C03az79cb' and createdTime > '2023-01-01T00:00:00' | true |
Запрос нескольких терминов в скобках
Для группировки нескольких поисковых запросов можно использовать скобки. Например, чтобы найти общие диски, созданные после определенной даты и имеющие более пяти организаторов или более 20 участников, используйте следующий запрос:
createdTime > '2019-01-01T12:00:00' and (organizerCount > 5 or memberCount > 20)
В результате поиска будут найдены все общие диски, созданные после 1 января 2019 года, которые имеют более пяти организаторов или более 20 участников.
API Google Drive обрабатывает операторы and » и or слева направо, поэтому тот же поиск без скобок вернет следующий результат:
- Доступ к общим дискам предоставлялся только более чем пяти организаторам, созданным после 1 января 2019 года.
- Все общие диски, на которых размещено более 20 пользователей, даже те, которые были созданы до 1 января 2019 года.