- Thiết lập cơ bản
• Chọn Google Drive Node trong workflow
• Chọn resource File/Folder
• Chọn operation Search - Query Parameters (Tham số truy vấn)
Query (q):
• Nhập chuỗi truy vấn theo cú pháp Google Drive API:
Cú pháp chi tiết của advanced search trong Google Drive API
Cú pháp truy vấn nâng cao (advanced search) trong Google Drive API sử dụng trường q với cấu trúc:
<query_term> <operator> <value>Trong đó:
- query_term: trường dữ liệu cần tìm kiếm (ví dụ:
name,mimeType,modifiedTime,parents, …) - operator: toán tử so sánh (
=,!=,<,>,<=,>=,contains,in,has,and,or,not) - value: giá trị so sánh, luôn đặt trong dấu nháy đơn
'...'với chuỗi hoặc ID[1].
Các toán tử phổ biến
| Toán tử | Ý nghĩa | Ví dụ sử dụng |
|---|---|---|
= | Bằng | name = 'Báo cáo' |
!= | Khác | mimeType != 'application/pdf' |
<, >, <=, >= | So sánh với kiểu ngày hoặc số | modifiedTime > '2024-01-01T00:00:00' |
contains | Chứa (chỉ kiểm tra tiền tố với name) | name contains 'Báo' |
in | Thuộc về một tập hợp (thường dùng với parents, owners, …) | 'abc123' in parents |
and, or | Kết hợp nhiều điều kiện | name contains 'Báo' and trashed = false |
not | Phủ định điều kiện | not trashed |
has | Có thuộc tính (dùng với custom properties) | properties has { key='project' and value='n8n' }[1] |
Các trường truy vấn thường dùng
| Trường | Ý nghĩa | Toán tử hợp lệ | Ví dụ sử dụng |
|---|---|---|---|
name | Tên file/folder | contains, =, != | name contains 'report' |
fullText | Nội dung, mô tả, metadata | contains | fullText contains 'invoice' |
mimeType | Loại file (MIME) | =, !=, contains | mimeType = 'application/pdf' |
modifiedTime | Thời gian sửa đổi cuối | <, >, =, … | modifiedTime > '2024-01-01T00:00:00' |
trashed | Đã xóa hay chưa | =, != | trashed = false |
parents | Nằm trong thư mục cha nào | in | 'folderId' in parents |
starred | Đánh dấu sao | =, != | starred = true |
owners | Người sở hữu | in | '[email protected]' in owners |
createdTime | Thời gian tạo | <, >, =, … | createdTime <= '2024-05-01T00:00:00' |
sharedWithMe | File được chia sẻ với tôi | =, != | sharedWithMe = true |
Quy tắc đặc biệt
- Giá trị chuỗi phải đặt trong dấu nháy đơn
'...'. Nếu có dấu nháy đơn trong chuỗi, dùng\'để escape:name = 'Valentine\'s Day'. containsvớinamechỉ kiểm tra tiền tố, ví dụ:name contains 'Hello'sẽ tìm “HelloWorld” nhưngname contains 'World'thì không.- Có thể dùng dấu ngoặc đơn
()để nhóm điều kiện phức tạp.
Ví dụ truy vấn nâng cao
1. Tìm tất cả file PDF chưa bị xóa:
mimeType = 'application/pdf' and trashed = false2. Tìm tất cả folder trong một thư mục cụ thể:
mimeType = 'application/vnd.google-apps.folder' and 'folderId' in parents3. Tìm file có tên bắt đầu bằng “Báo cáo” và được chỉnh sửa sau ngày 1/5/2024:
name contains 'Báo cáo' and modifiedTime > '2024-05-01T00:00:00'4. Tìm file Google Docs trong một thư mục cụ thể:
'folderId' in parents and mimeType = 'application/vnd.google-apps.document'5. Tìm file được chia sẻ với tôi, không nằm trong thùng rác:
sharedWithMe = true and trashed = false6. Tìm file có custom property:
properties has { key='project' and value='n8n' }7. Tìm file tên có chứa “report” nhưng không chứa “draft”:
name contains 'report' and not name contains 'draft'8. Tìm file theo nhiều điều kiện phức tạp:
(name contains 'Báo cáo' or name contains 'Report') and trashed = false and (mimeType = 'application/pdf' or mimeType = 'application/vnd.google-apps.document')Lưu ý khi sử dụng trong n8n
- Khi cấu hình Advanced Search trong n8n Google Drive node, nhập chuỗi truy vấn vào trường Query String đúng cú pháp như trên[5].
- Có thể kết hợp nhiều điều kiện để lọc chính xác theo nhu cầu.
- Tham khảo thêm danh sách MIME types của Google Drive để lọc đúng loại file mong muốn.
Các tùy chọn khác
- Pagination (Phân trang)
• Page Size: Số lượng kết quả trả về mỗi trang (mặc định 100)
• Return All: Tự động lấy tất cả trang kết quả Options (Tùy chọn bổ sung)
• Drive ID: Tìm trong Shared Drive cụ thể
• Include Team Drive Items: Cho phép tìm trong Shared Drives
• Supports All Drives: Kích hoạt hỗ trợ Shared Drives- Xử lý kết quả
• Kết quả trả về dưới dạng JSON array
• Sử dụng nodes tiếp theo như Set hoặc Function để xử lý dữ liệu
• Đối với tên file có ký tự đặc biệt: Sử dụng dấu\để escape (ví dụ:name contains 'quận\\1')

