В этом руководстве объясняется, как API Google Drive поддерживает несколько способов поиска файлов и папок.
 Метод list ресурса files можно использовать для возврата всех или некоторых файлов и папок пользователя Диска. Метод list также можно использовать для получения идентификатора fileId , необходимого для некоторых методов ресурса (например, get и update ).
Используйте параметр fields
 Если вы хотите указать поля, возвращаемые в ответе, вы можете задать системный параметр fields с помощью любого метода ресурса files . Если параметр fields опущен, сервер вернет набор полей по умолчанию, специфичный для данного метода. Например, метод list возвращает только поля kind , id , name , mimeType и resourceKey для каждого файла. Чтобы вернуть различные поля, см. раздел Возврат определённых полей .
Получить файл
 Чтобы получить файл, используйте метод get ресурса files с параметром fileId . Если вы не знаете идентификатор файла, вы можете получить список всех файлов с помощью метода list .
 Метод возвращает файл как экземпляр ресурса files . Если указать параметр запроса alt=media , то ответ будет включать содержимое файла в тело ответа. Чтобы загрузить или экспортировать файл, см. раздел Загрузка и экспорт файлов .
 Чтобы подтвердить риск загрузки известного вредоносного ПО или других вредоносных файлов, установите для параметра запроса acknowledgeAbuse значение true . Это поле применимо только в том случае, если задан параметр alt=media , а пользователь является владельцем файла или организатором общего диска, на котором находится файл.
Поиск всех файлов и папок на Моем диске текущего пользователя
 Используйте метод list без параметров, чтобы вернуть все файлы и папки.
GET https://www.googleapis.com/drive/v3/files
Поиск определенных файлов или папок на Моем диске текущего пользователя
 Чтобы найти определенный набор файлов или папок, используйте поле строки запроса q с методом list , чтобы отфильтровать возвращаемые файлы, объединив один или несколько поисковых терминов.
Синтаксис строки запроса состоит из следующих трех частей:
 query_term operator values
Где:
- query_term— термин запроса или поле для поиска.
- operatorзадает условие для термина запроса.
- values— это конкретные значения, которые вы хотите использовать для фильтрации результатов поиска.
Например, следующая строка запроса фильтрует поиск, возвращая только папки, устанавливая тип MIME :
q: mimeType = 'application/vnd.google-apps.folder'
Чтобы просмотреть все термины запроса файлов, см. раздел Термины запроса, специфичные для файлов .
Чтобы просмотреть все операторы запросов, которые можно использовать для построения запроса, см. раздел Операторы запросов .
Примеры строк запроса
В следующей таблице приведены примеры некоторых базовых строк запроса. Фактический код различается в зависимости от клиентской библиотеки, используемой для поиска.
 Также необходимо экранировать специальные символы в именах файлов, чтобы обеспечить корректную работу запроса. Например, если имя файла содержит как апостроф ( ' ), так и обратную косую черту ( "\" ), используйте обратную косую черту для их экранирования: name contains 'quinn\'s paper\\essay' .
| Что вы хотите запросить | Пример | 
|---|---|
| Файлы с именем "привет" | name = 'hello' | 
| Файлы с именем, содержащим слова «привет» и «до свидания» | name contains 'hello' and name contains 'goodbye' | 
| Файлы, в имени которых нет слова «привет» | not name contains 'hello' | 
| Файлы, содержащие текст «важно» и находящиеся в корзине | fullText contains 'important' and trashed = true | 
| Файлы, содержащие слово «привет» | fullText contains 'hello' | 
| Файлы, в которых нет слова «привет» | not fullText contains 'hello' | 
| Файлы, содержащие точную фразу «hello world» | fullText contains '"hello world"' | 
| Файлы с запросом, содержащим символ «\» (например, «\authors») | fullText contains '\\authors' | 
| Файлы, являющиеся папками | mimeType = 'application/vnd.google-apps.folder' | 
| Файлы, которые не являются папками | mimeType != 'application/vnd.google-apps.folder' | 
| Файлы, измененные после указанной даты (часовой пояс по умолчанию — UTC) | modifiedTime > '2012-06-04T12:00:00' | 
| Файлы изображений или видео, измененные после определенной даты | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') | 
| Файлы, отмеченные звездочкой | starred = true | 
| Файлы внутри коллекции (например, идентификатор папки в parentsколлекции) | '1234567' in parents | 
| Файлы в папке данных приложения в коллекции | 'appDataFolder' in parents | 
| Файлы, владельцем которых является пользователь «test@example.org» | 'test@example.org' in owners | 
| Файлы, для которых пользователь «test@example.org» имеет разрешение на запись | 'test@example.org' in writers | 
| Файлы, для которых члены группы «group@example.org» имеют разрешение на запись | 'group@example.org' in writers | 
| Файлы, предоставленные авторизованному пользователю с «привет» в имени | sharedWithMe and name contains 'hello' | 
| Файлы с настраиваемыми свойствами, видимые всем приложениям | properties has { key='mass' and value='1.3kg' } | 
| Файлы с пользовательскими свойствами, доступными только запрашивающему приложению | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } | 
| Файлы, которые не были предоставлены кому-либо или доменам (только личные или предоставлены определенным пользователям или группам) | visibility = 'limited' | 
Фильтрация результатов поиска с помощью клиентской библиотеки
 В следующем примере кода показано, как использовать клиентскую библиотеку для фильтрации результатов поиска по именам и идентификаторам JPEG-файлов. В этом примере используется запрос mimeType для сужения результатов до файлов типа image/jpeg . Также задаются spaces на drive для дальнейшего сужения области поиска до пространства Drive . Если nextPageToken возвращает null , результаты больше не возвращаются.
Ява
Питон
Node.js
PHP
Поиск файлов с пользовательскими свойствами файла
 Чтобы найти файлы с пользовательским свойством, используйте либо properties , либо поисковый запрос appProperties с ключом и значением. Например, чтобы найти пользовательское свойство файла, являющееся приватным для запрашивающего приложения, с именем additionalID и значением 8e8aceg2af2ge72e78 :
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
Для получения дополнительной информации см. раздел Добавление пользовательских свойств файла .
Поиск файлов с определенной меткой или значением поля
 Чтобы найти файлы с определёнными метками, используйте поисковый запрос labels с заданным идентификатором метки. Например, 'labels/ LABEL_ID ' in labels . В случае успеха тело ответа содержит все экземпляры файлов, к которым применена метка.
 Для поиска файлов без определенного идентификатора метки: Not 'labels/ LABEL_ID ' in labels .
 Вы также можете искать файлы по значениям определённых полей. Например, для поиска файлов с текстовым значением: labels/ LABEL_ID .text_field_id =' TEXT ' .
Дополнительные сведения см. в разделе Поиск файлов с определенной меткой или значением поля .
Поиск в корпусах
 Поисковые запросы, вызывающие метод list , по умолчанию используют corpora user . Для поиска в других корпусах, например, в файлах, доступных для общего доступа к domain , установите параметр corpora .
 В одном запросе можно выполнить поиск по нескольким корпусам, однако, если объединённый корпус слишком большой, могут быть возвращены неполные результаты. Если в теле ответа incompleteSearch равно true , это означает, что не все документы были возвращены. В этом случае следует сузить запрос, выбрав другой корпус, например, user или drive .
Похожие темы
- Поиск общих дисков
- Условия и операторы поискового запроса
- Поддерживаемые типы MIME для Google Workspace и Google Drive
- Роли и разрешения
- Поиск файлов с определенной меткой или значением поля