Công cụ: search_files
Gọi công cụ này để tìm kiếm tệp trên Drive dựa trên một truy vấn có cấu trúc.
Trường query yêu cầu sử dụng toán tử tìm kiếm truy vấn.
Một chuỗi truy vấn gồm 3 phần sau: query_term operator values trong đó:
query_termlà cụm từ hoặc trường truy vấn để tìm kiếm.operatorchỉ định điều kiện cho cụm từ tìm kiếm.valueslà những giá trị cụ thể mà bạn có thể dùng để lọc kết quả tìm kiếm.
Cụm từ tìm kiếm
Bảng sau đây liệt kê các cụm từ tìm kiếm hợp lệ cùng với nội dung mô tả:
| Cụm từ tìm kiếm | Toán tử hợp lệ | Cách sử dụng |
|---|---|---|
title |
contains, =, != |
Tiêu đề của tệp. Đặt trong dấu nháy đơn ('). Thoát dấu nháy đơn trong các truy vấn bằng \', chẳng hạn như 'Valentine\'s Day'. |
fullText |
contains |
title hoặc văn bản trong nội dung của tệp có khớp hay không. Đặt trong dấu nháy đơn ('). Thoát dấu nháy đơn trong các truy vấn bằng \', chẳng hạn như 'Valentine\'s Day'. |
mimeType |
contains, =, != |
Loại MIME của tệp. Đặt trong dấu nháy đơn ('). Thoát dấu nháy đơn trong các truy vấn bằng \', chẳng hạn như 'Valentine\'s Day'. |
modifiedTime |
<=, <, =, !=, >, >= |
Ngày sửa đổi tệp gần đây nhất. Định dạng RFC 3339, múi giờ mặc định là UTC, chẳng hạn như 2012-06-04T12:00:00-08:00. Bạn không thể so sánh các trường thuộc loại date. |
viewedByMeTime |
<=, <, =, !=, >, >= |
Ngày mà người dùng xem tệp lần gần đây nhất. Định dạng RFC 3339, múi giờ mặc định là UTC, chẳng hạn như 2012-06-04T12:00:00-08:00. Bạn không thể so sánh các trường thuộc loại date. |
parentId |
=, != |
Liệu phần tử mẹ có bằng với mã nhận dạng đã chỉ định hay không. root có thể dùng để chỉ định "Drive của tôi" của người dùng, đóng vai trò là hệ thống phân cấp chính của họ. |
owner |
=, != |
Người dùng sở hữu tệp. Bạn có thể dùng me để chỉ định người dùng đang đưa ra yêu cầu. |
sharedWithMe |
=, != |
Các tệp trong bộ sưu tập "Được chia sẻ với tôi" của người dùng. Tất cả người dùng tệp đều có trong Danh sách kiểm soát quyền truy cập (ACL) của tệp. Có thể là true hoặc false. |
createdTime |
<=, <, =, !=, >, >= |
Ngày tạo tệp. Sử dụng định dạng RFC 3339, múi giờ mặc định là UTC, chẳng hạn như 2012-06-04T12:00:00-08:00. |
Toán tử truy vấn
Bảng sau đây liệt kê các toán tử truy vấn hợp lệ:
| Đơn vị tổ chức | Cách sử dụng |
|---|---|
contains |
Nội dung của một chuỗi có trong chuỗi kia. |
= |
Nội dung của một chuỗi hoặc boolean bằng với nội dung của chuỗi hoặc boolean khác. |
!= |
Nội dung của một chuỗi hoặc boolean không bằng với nội dung của chuỗi hoặc boolean khác. |
< |
Một giá trị nhỏ hơn một giá trị khác. |
<= |
Một giá trị nhỏ hơn hoặc bằng một giá trị khác. |
> |
Một giá trị lớn hơn một giá trị khác. |
>= |
Một giá trị lớn hơn hoặc bằng một giá trị khác. |
in |
Một phần tử nằm trong một bộ sưu tập. |
and |
Trả về những mục khớp với cả hai truy vấn. |
or |
Trả về các mục khớp với một trong hai truy vấn. |
not |
Phủ định một cụm từ tìm kiếm. |
has |
Một tập hợp chứa một phần tử khớp với các tham số. |
Sau đây là một số ví dụ về truy vấn:
title contains 'hello' and title contains 'goodbye'modifiedTime > '2024-01-01T00:00:00Z' and (mimeType contains 'image/' or mimeType contains 'video/')parentId = '1234567'fullText contains 'hello'owner = 'test@example.org'sharedWithMe = trueowner = 'me'(đối với tệp thuộc sở hữu của người dùng)
Sử dụng next_page_token để phân trang kết quả. Một phản hồi trống cho biết không có kết quả hoặc không còn kết quả nào để trả về.
Mẫu sau đây minh hoạ cách sử dụng curl để gọi công cụ search_files MCP.
| Yêu cầu Curl |
|---|
curl --location 'https://drivemcp.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_files", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Giản đồ đầu vào
Yêu cầu tìm kiếm tệp.
SearchFilesRequest
| Biểu diễn dưới dạng JSON |
|---|
{ "query": string, "pageToken": string "pageSize": integer "excludeContentSnippets": boolean } |
| Trường | |
|---|---|
query |
Cụm từ tìm kiếm. |
Trường nhóm
|
|
pageToken |
Mã thông báo trang dùng để phân trang. |
Trường nhóm
|
|
pageSize |
Số lượng tệp tối đa cần trả về trong mỗi trang. |
Trường nhóm
|
|
excludeContentSnippets |
Nếu đúng, đoạn nội dung sẽ bị loại trừ khỏi phản hồi. |
Giản đồ đầu ra
Phản hồi đối với tệp tìm kiếm.
SearchFilesResponse
| Biểu diễn dưới dạng JSON |
|---|
{
"files": [
{
object ( |
| Trường | |
|---|---|
files[] |
Chỉ có đầu ra. Danh sách tệp. |
Trường nhóm
|
|
nextPageToken |
Mã thông báo trang tiếp theo. |
Tệp
| Biểu diễn dưới dạng JSON |
|---|
{ "id": string, "title": string, "parentId": string, "mimeType": string "fileSize": string "description": string "fileExtension": string "contentSnippet": string "viewUrl": string "sharedWithMeTime": string "createdTime": string "modifiedTime": string "viewedByMeTime": string "owner": string } |
| Trường | |
|---|---|
id |
Mã của tệp đã được tìm nạp. |
title |
Tiêu đề của tệp. |
parentId |
Mã nhận dạng (không bắt buộc) của thư mục mẹ của tệp. |
Trường nhóm
|
|
mimeType |
Loại MIME của tệp. |
Trường nhóm
|
|
fileSize |
Kích thước của tệp tính bằng byte. |
Trường nhóm
|
|
description |
Nội dung mô tả tệp. |
Trường nhóm
|
|
fileExtension |
Phần mở rộng tệp gốc của tệp, chỉ được điền sẵn cho những tệp có nội dung được lưu trữ trong Drive. |
Trường nhóm
|
|
contentSnippet |
Đoạn trích được tạo về nội dung của tệp. |
Trường nhóm
|
|
viewUrl |
URL để xem tệp. |
Trường nhóm
|
|
sharedWithMeTime |
Thời điểm tệp được chia sẻ với người yêu cầu. Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: |
Trường nhóm
|
|
createdTime |
Thời gian tạo tệp. Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: |
Trường nhóm
|
|
modifiedTime |
Thời gian gần đây nhất mà tệp được sửa đổi. Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: |
Trường nhóm
|
|
viewedByMeTime |
Thời gian gần đây nhất mà người yêu cầu xem tệp. Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: |
Trường nhóm
|
|
owner |
Địa chỉ email của chủ sở hữu tệp. |
Dấu thời gian
| Biểu diễn dưới dạng JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Trường | |
|---|---|
seconds |
Biểu thị số giây của thời gian UTC kể từ thời gian bắt đầu của hệ thống Unix 1970-01-01T00:00:00Z. Phải nằm trong khoảng từ -62135596800 đến 253402300799 (tương ứng với 0001-01-01T00:00:00Z đến 9999-12-31T23:59:59Z). |
nanos |
Phân số không âm của một giây ở độ phân giải nano giây. Trường này là phần nano giây của khoảng thời gian, chứ không phải là một lựa chọn thay thế cho giây. Giá trị giây âm có phân số vẫn phải có giá trị nano giây không âm để đếm thời gian. Phải nằm trong khoảng từ 0 đến 999.999.999. |
Chú giải công cụ
Gợi ý mang tính phá hoại: ❌ | Gợi ý mang tính luỹ đẳng: ✅ | Gợi ý chỉ đọc: ✅ | Gợi ý về thế giới mở: ❌