ابزار: search_files
برای جستجوی فایلهای Drive با استفاده از یک پرسوجوی ساختاریافته، این ابزار را فراخوانی کنید.
فیلد query نیاز به استفاده از عملگرهای جستجوی پرسوجو دارد.
یک رشته پرسوجو شامل سه بخش زیر است: query_term operator values که در آن:
-
query_termعبارت یا فیلد پرسوجو برای جستجو است. -
operatorشرط مربوط به عبارت جستجو را مشخص میکند. -
valuesمقادیر خاصی هستند که برای فیلتر کردن نتایج جستجوی شما استفاده میشوند.
شرایط پرس و جو
جدول زیر فهرستی از عبارات پرسوجوی معتبر به همراه توضیحات آنها را نشان میدهد:
| عبارت جستجو | عملگرهای معتبر | کاربرد |
|---|---|---|
title | contains , = , != | عنوان فایل. با علامت نقل قول ( ' ) احاطه شود. در کوئریهایی که از علامت نقل قول استفاده میکنند \' مانند 'Valentine\'s Day' از علامت نقل قول تکی خارج شود. |
fullText | contains | اینکه آیا title یا متن موجود در محتوای فایل مطابقت دارد یا خیر. با علامت نقل قول ( ' ) احاطه کنید. در کوئریهایی که از علامت نقل قول استفاده میکنند \' مانند 'Valentine\'s Day' از علامت نقل قول تکی خارج شوید. |
mimeType | contains , = , != | نوع MIME فایل. با علامت نقل قول ( ' ) احاطه شود. در کوئریهایی که از \' نقل قول استفاده میکنند، مانند 'Valentine\'s Day' از علامت نقل قول تکی خارج شود. |
modifiedTime | <= ، < ، = ، != ، > ، >= | تاریخ آخرین تغییر فایل. قالب RFC 3339، منطقه زمانی پیشفرض UTC است، مانند 2012-06-04T12:00:00-08:00 . فیلدهای از نوع date قابل مقایسه نیستند. |
viewedByMeTime | <= ، < ، = ، != ، > ، >= | تاریخی که کاربر آخرین بار فایلی را مشاهده کرده است. قالب RFC 3339، منطقه زمانی پیشفرض UTC است، مانند 2012-06-04T12:00:00-08:00 . فیلدهای از نوع date قابل مقایسه نیستند. |
parentId | = ، != | اینکه آیا والد با شناسه مشخص شده برابر است یا خیر. root میتواند برای مشخص کردن «درایو من» کاربر که به عنوان سلسله مراتب اصلی او عمل میکند، استفاده شود. |
owner | = ، != | کاربر مالک فایل. me میتواند برای مشخص کردن کاربری که درخواست را انجام میدهد، استفاده شود. |
sharedWithMe | = ، != | فایلهایی که در مجموعه «به اشتراک گذاشته شده با من» کاربر قرار دارند. همه کاربران فایل در فهرست کنترل دسترسی (ACL) فایل هستند. میتواند true یا false باشد. |
createdTime | <= ، < ، = ، != ، > ، >= | تاریخ ایجاد فایل. از قالب RFC 3339 استفاده کنید، منطقه زمانی پیشفرض UTC است، مانند 2012-06-04T12:00:00-08:00 . |
عملگرهای پرس و جو
جدول زیر عملگرهای پرس و جوی معتبر را فهرست میکند:
| اپراتور | کاربرد |
|---|---|
contains | محتوای یک رشته در رشته دیگر وجود دارد. |
= | محتوای یک رشته یا مقدار بولی با دیگری برابر است. |
!= | محتوای یک رشته یا مقدار بولی با دیگری برابر نیست. |
< | یک مقدار کمتر از دیگری است. |
<= | یک مقدار کمتر یا مساوی مقدار دیگری است. |
> | یک مقدار از مقدار دیگر بزرگتر است. |
>= | یک مقدار بزرگتر یا مساوی مقدار دیگری است. |
in | یک عنصر درون یک مجموعه قرار دارد. |
and | مواردی را که با هر دو پرس و جو مطابقت دارند، برگردانید. |
or | مواردی را که با هر یک از پرسوجوها مطابقت دارند، برگردانید. |
not | یک عبارت جستجو را خنثی میکند. |
has | یک مجموعه شامل عنصری است که با پارامترها مطابقت دارد. |
برخی از نمونههای پرسوجو عبارتند از:
-
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 = true -
owner = 'me'(برای فایلهایی که متعلق به کاربر هستند)
next_page_token برای صفحهبندی نتایج استفاده کنید. یک پاسخ خالی نشان میدهد که یا هیچ نتیجهای وجود ندارد یا نتیجهی دیگری برای برگرداندن وجود ندارد.
مثال زیر نحوه استفاده از curl برای فراخوانی ابزار search_files MCP را نشان میدهد.
| درخواست کرل |
|---|
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 }' |
طرحواره ورودی
درخواست جستجوی فایلها
درخواست جستجو
| نمایش JSON |
|---|
{ "query": string, "pageToken": string "pageSize": integer "excludeContentSnippets": boolean } |
| فیلدها | |
|---|---|
query | عبارت جستجو. |
فیلد یونیون | |
pageToken | توکن صفحهای که برای صفحهبندی استفاده میشود. |
فیلد یونیون | |
pageSize | حداکثر تعداد فایلهایی که در هر صفحه برگردانده میشوند. |
فیلد یونیون | |
excludeContentSnippets | اگر مقدار آن درست باشد، قطعه محتوا از پاسخ حذف خواهد شد. |
طرحواره خروجی
پاسخ به فایلهای جستجو.
جستجوی فایلهاپاسخ
| نمایش JSON |
|---|
{
"files": [
{
object ( |
| فیلدها | |
|---|---|
files[] | فقط خروجی. لیست فایلها. |
فیلد مشترک | |
nextPageToken | نشانه صفحه بعدی. |
فایل
| نمایش 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 } |
| فیلدها | |
|---|---|
id | شناسه فایلی که واکشی شده است. |
title | عنوان فایل. |
parentId | شناسه (اختیاری) والد فایل. |
فیلد یونیون | |
mimeType | نوع MIME فایل. |
فیلد یونیون | |
fileSize | اندازه فایل بر حسب بایت. |
فیلد اتحادیه | |
description | توضیحات فایل. |
فیلد یونیون | |
fileExtension | پسوند اصلی فایل، این فقط برای فایلهایی که محتوای آنها در Drive ذخیره شده است، استفاده میشود. |
فیلد یونیون | |
contentSnippet | قطعه کدی در مورد محتوای فایل تولید شد. |
فیلد یونیون | |
viewUrl | آدرس اینترنتی برای مشاهده فایل. |
فیلد اتحادیه | |
sharedWithMeTime | مدت زمانی که فایل با درخواستکننده به اشتراک گذاشته شده است. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
فیلد اتحادیه | |
createdTime | زمان ایجاد فایل. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
فیلد اتحادیه | |
modifiedTime | آخرین زمانی که فایل تغییر داده شده است. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
فیلد اتحادیه | |
viewedByMeTime | آخرین زمانی که فایل توسط درخواستکننده مشاهده شده است. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
| |
owner | آدرس ایمیل صاحب فایل. |
مهر زمانی
| نمایش JSON |
|---|
{ "seconds": string, "nanos": integer } |
| فیلدها | |
|---|---|
seconds | ثانیههای زمان UTC را از زمان یونیکس ۱۹۷۰-۰۱-۰۱T۰۰:۰۰:۰۰Z نشان میدهد. باید بین -۶۲۱۳۵۵۹۶۸۰۰ و ۲۵۳۴۰۲۳۰۰۷۹۹ باشد (که معادل ۰۰۰۱-۰۱-۰۱T۰۰:۰۰:۰۰Z تا ۹۹۹۹-۱۲-۳۱T۲۳:۵۹:۵۹Z است). |
nanos | کسرهای غیرمنفی ثانیه با وضوح نانوثانیه. این فیلد بخش نانوثانیه از مدت زمان است، نه جایگزینی برای ثانیه. مقادیر منفی ثانیه با کسرها باید همچنان دارای مقادیر نانوثانیه غیرمنفی باشند که در زمان به جلو شمارش میشوند. باید بین ۰ تا ۹۹۹۹۹۹۹۹۹۹ باشد. |
حاشیهنویسی ابزار
راهنمایی مخرب: ❌ | راهنمایی بیاثر: ✅ | راهنمایی فقط خواندنی: ✅ | راهنمایی جهان باز: ❌