Hướng Dẫn Chi Tiết Cấu Hình Advanced Search Google Drive Node trong n8n: Cú Pháp, Tham Số và Ví Dụ Tìm Kiếm Nâng Cao

  1. Thiết lập cơ bản

    • Chọn Google Drive Node trong workflow

    • Chọn resource File/Folder

    • Chọn operation Search
  2. 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ĩaVí dụ sử dụng
=Bằngname = 'Báo cáo'
!=KhácmimeType != 'application/pdf'
<, >, <=, >=So sánh với kiểu ngày hoặc sốmodifiedTime > '2024-01-01T00:00:00'
containsChứa (chỉ kiểm tra tiền tố với name)name contains 'Báo'
inThuộc về một tập hợp (thường dùng với parents, owners, …)'abc123' in parents
and, orKết hợp nhiều điều kiệnname contains 'Báo' and trashed = false
notPhủ định điều kiệnnot trashed
hasCó 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ĩaToán tử hợp lệVí dụ sử dụng
nameTên file/foldercontains, =, !=name contains 'report'
fullTextNội dung, mô tả, metadatacontainsfullText contains 'invoice'
mimeTypeLoại file (MIME)=, !=, containsmimeType = 'application/pdf'
modifiedTimeThời gian sửa đổi cuối<, >, =, …modifiedTime > '2024-01-01T00:00:00'
trashedĐã xóa hay chưa=, !=trashed = false
parentsNằm trong thư mục cha nàoin'folderId' in parents
starredĐánh dấu sao=, !=starred = true
ownersNgười sở hữuin'[email protected]' in owners
createdTimeThời gian tạo<, >, =, …createdTime <= '2024-05-01T00:00:00'
sharedWithMeFile đượ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'.
  • contains với name chỉ kiểm tra tiền tố, ví dụ: name contains 'Hello' sẽ tìm “HelloWorld” nhưng name 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 = false

2. Tìm tất cả folder trong một thư mục cụ thể:

mimeType = 'application/vnd.google-apps.folder' and 'folderId' in parents

3. 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 = false

6. 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

  1. 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ả
  2. 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


  3. 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')

Có thể bạn quan tâm

Hướng dẫn mời bot Discord của chính bạn vào server cá nhân

Nếu bạn đã tự tạo một bot Discord thông qua…

Tin học văn phòng

Xây dựng bot telegram giúp tóm tắt các nhóm chat

Vấn đề: bạn có mặt trong rất nhiều nhóm chat…

AI Automation