3.7 KiB
3.7 KiB
Google Drive Search Query Syntax
Query Operators
| Query | Description |
|---|---|
title contains 'text' |
Files with title containing text |
fullText contains 'text' |
Search file content |
mimeType = 'type' |
Files of specific MIME type |
'parent_id' in parents |
Files in specific folder |
'root' in parents |
Files in root directory |
trashed = false |
Not in trash |
trashed = true |
In trash |
'me' in owners |
Files you own |
starred = true |
Starred files |
modifiedDate > 'date' |
Modified after date |
modifiedDate < 'date' |
Modified before date |
createdDate > 'date' |
Created after date |
Common MIME Types
| Type | MIME Type |
|---|---|
application/pdf |
|
| Text | text/plain |
| Word | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| Excel | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| PowerPoint | application/vnd.openxmlformats-officedocument.presentationml.presentation |
| Google Doc | application/vnd.google-apps.document |
| Google Sheet | application/vnd.google-apps.spreadsheet |
| Google Slides | application/vnd.google-apps.presentation |
| Folder | application/vnd.google-apps.folder |
| Image | image/jpeg, image/png, image/gif |
Search Examples
Basic Searches
# Files containing "report" in title
file_list = drive.ListFile({'q': "title contains 'report'"}).GetList()
# PDF files only
file_list = drive.ListFile({'q': "mimeType = 'application/pdf'"}).GetList()
# Files in root, not trashed
file_list = drive.ListFile({'q': "'root' in parents and trashed = false"}).GetList()
Complex Queries
# Multiple conditions with AND
query = (
"title contains 'invoice' and "
"mimeType = 'application/pdf' and "
"trashed = false"
)
file_list = drive.ListFile({'q': query}).GetList()
# Files you own
file_list = drive.ListFile({'q': "'me' in owners"}).GetList()
# Modified after specific date
file_list = drive.ListFile({'q': "modifiedDate > '2024-01-01'"}).GetList()
# Folders only
file_list = drive.ListFile({'q': "mimeType = 'application/vnd.google-apps.folder'"}).GetList()
# Starred PDFs
query = "starred = true and mimeType = 'application/pdf'"
file_list = drive.ListFile({'q': query}).GetList()
Content Search
# Search file content (not just title)
file_list = drive.ListFile({'q': "fullText contains 'keyword'"}).GetList()
Date Format
Use ISO 8601 format: YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS
Examples:
'2024-01-01''2024-12-31T23:59:59'
Combining Conditions
Use and and or operators:
# Either condition
query = "title contains 'report' or title contains 'summary'"
# Both conditions
query = "title contains 'report' and mimeType = 'application/pdf'"
# Complex combination
query = (
"(title contains 'invoice' or title contains 'receipt') and "
"mimeType = 'application/pdf' and "
"modifiedDate > '2024-01-01'"
)
Special Characters
Escape single quotes in search terms:
# Searching for "O'Brien"
query = "title contains 'O\\'Brien'"
Performance Tips
- Be specific: More specific queries return faster
- Limit fields: Use
fieldsparameter to request only needed data - Use pagination: For large result sets, use
pageToken - Avoid fullText searches: They are slower than title searches
Iterating Results
# Process all results
file_list = drive.ListFile({'q': "title contains 'report'"}).GetList()
for file in file_list:
print(f"{file['title']} (ID: {file['id']})")
print(f" Modified: {file['modifiedDate']}")
print(f" Size: {file.get('fileSize', 'N/A')} bytes")