Files
2025-11-30 09:05:19 +08:00

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
PDF 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()
# 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

  1. Be specific: More specific queries return faster
  2. Limit fields: Use fields parameter to request only needed data
  3. Use pagination: For large result sets, use pageToken
  4. 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")