You can search or filter files with the files.list
method of the Drive API. These methods accept the q
parameter which is a search query
combining one or more search clauses. Each search clause is made up of three parts.
- Field
- Attribute of the file that is searched, e.g., the
attribute
name
of the file. - Operator
- Test that is performed on the data to provide a match, e.g.,
contains
. - Value
- The content of the attribute that is tested, e.g. the name of the file
My cool document
.
Combine clauses with the conjunctions and
or or
, and negate the query with
not
.
Fields
Field | Value Type | Operators | Description |
---|---|---|---|
name |
string | contains 1, = , != |
Name of the file. |
fullText |
string | contains 2 |
Full text of the file including name, description, content, and indexable text. |
mimeType |
string | contains , = , != |
MIME type of the file. |
modifiedTime |
date3 | <= , < , = , != , > , >= |
Date of the last modification of the file. |
viewedByMeTime |
date3 | <= , < , = , != , > , >= |
Date that the user last viewed a file. |
trashed |
boolean | = , != |
Whether the file is in the trash or not. |
starred |
boolean | = , != |
Whether the file is starred or not. |
parents |
collection | in |
Whether the parents collection contains the specified ID. |
owners |
collection | in |
Users who own the file. |
writers |
collection | in |
Users who have permission to modify the file. |
readers |
collection | in |
Users who have permission to read the file. |
sharedWithMe |
boolean | = , != |
Files that have been shared with the authorized user. |
properties |
collection | has |
Public custom file properties. |
appProperties |
collection | has |
Private custom file properties. |
Value types
Value Type | Notes |
---|---|
String | Surround with single quotes ' . Escape single quotes in queries with \' , e.g., 'Valentine\'s Day' . |
Boolean | true or false . |
Date | RFC 3339 format, default timezone is UTC, e.g., 2012-06-04T12:00:00-08:00 . |
Operators
Operator | Notes |
---|---|
contains |
The content of one string is present in the other. |
= |
The content of a string or boolean is equal to the other. |
!= |
The content of a string or boolean is not equal to the other. |
< |
A date is earlier than another. |
<= |
A date is earlier than or equal to another. |
> |
A date is later than another. |
>= |
A date is later than or equal to another. |
in |
An element is contained within a collection. |
and |
Return files that match both clauses. |
or |
Return files that match either clause. |
not |
Negates a search clause. |
has |
A collection contains an element matching the parameters. |
For compound clauses, you can use parentheses to group clauses together. For example:
modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/')
This search returns all files with an image or video MIME type that were last modified after
June 4, 2012. Because and
and or
operators are evaluated from left to right, without
parentheses the above example would return only images modified after June 4, 2012,
but would return all videos, even those before June 4, 2012.
Examples
All examples on this page show the unencoded q
parameter, where name = 'hello'
is encoded as
name+%3d+%27hello%27
. Client libraries handle this encoding automatically.
Search for files with the name "hello"
name = 'hello'
Search for folders using the folder-specific MIME type
mimeType = 'application/vnd.google-apps.folder'
Search for files that are not folders
mimeType != 'application/vnd.google-apps.folder'
Search for files with a name containing the words "hello" and "goodbye"
name contains 'hello' and name contains 'goodbye'
Search for files with a name that does not contain the word "hello"
not name contains 'hello'
Search for files containing the word "hello" in the content
fullText contains 'hello'
Search for files not containing the word "hello" in the content
not fullText contains 'hello'
Search for files containing the exact phrase "hello world" in the content
fullText contains '"hello world"'
fullText contains '"hello_world"'
Search for files with a query containing the "" character (e.g., "\authors")
fullText contains '\\authors'
Search for files writeable by the user "test@example.org"
'test@example.org' in writers
Search for the ID 1234567
in the parents
collection. This finds all files and folders
located directly in the folder whose ID is 1234567
.
'1234567' in parents
Search for the alias ID appDataFolder
in the parents
collection. This finds all files and folders
located directly under the Application Data folder.
'appDataFolder' in parents
Search for files writeable by the users "test@example.org" and "test2@example.org"
'test@example.org' in writers and 'test2@example.org' in writers
Search for files containing the text "important" which are in the trash
fullText contains 'important' and trashed = true
Search for files modified after June 4th 2012
modifiedTime > '2012-06-04T12:00:00' // default time zone is UTC
modifiedTime > '2012-06-04T12:00:00-08:00'
Search for files shared with the authorized user with "hello" in the name
sharedWithMe and name contains 'hello'
Search for files with a custom file property named
additionalID
with the value 8e8aceg2af2ge72e78
.
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }