เครื่องมือ: search_files
เรียกใช้เครื่องมือนี้เพื่อค้นหาไฟล์ในไดรฟ์โดยใช้การค้นหาที่มีโครงสร้าง
ฟิลด์ query ต้องใช้โอเปอเรเตอร์การค้นหาคำค้นหา
สตริงการค้นหาประกอบด้วย 3 ส่วนต่อไปนี้ 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 |
แสดงรายการที่ตรงกับทั้ง 2 คำค้นหา |
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 = trueowner = 'me'(สำหรับไฟล์ที่ผู้ใช้เป็นเจ้าของ)
ใช้ next_page_token เพื่อแบ่งหน้าผลการค้นหา การตอบกลับที่ว่างเปล่าแสดงว่าไม่มีผลลัพธ์หรือไม่มีผลลัพธ์ที่จะแสดงอีก
ตัวอย่างต่อไปนี้แสดงวิธีใช้ curl เพื่อเรียกใช้เครื่องมือ search_files MCP
| คำขอ 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 }' |
สคีมาอินพุต
ขอสิทธิ์ค้นหาไฟล์
SearchFilesRequest
| การแสดง JSON |
|---|
{ "query": string, "pageToken": string "pageSize": integer "excludeContentSnippets": boolean } |
| ช่อง | |
|---|---|
query |
คำค้นหา |
ฟิลด์ Union
|
|
pageToken |
โทเค็นหน้าเว็บที่จะใช้สำหรับการแบ่งหน้า |
ฟิลด์ Union
|
|
pageSize |
จำนวนไฟล์สูงสุดที่จะแสดงในแต่ละหน้า |
ฟิลด์ Union
|
|
excludeContentSnippets |
หากเป็นจริง ระบบจะยกเว้นข้อมูลโค้ดเนื้อหาจากคำตอบ |
สคีมาเอาต์พุต
การตอบกลับไฟล์ค้นหา
SearchFilesResponse
| การแสดง JSON |
|---|
{
"files": [
{
object ( |
| ช่อง | |
|---|---|
files[] |
เอาต์พุตเท่านั้น รายการไฟล์ |
ฟิลด์ Union
|
|
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 |
รหัส (ไม่บังคับ) ของโฟลเดอร์หลักของไฟล์ |
ฟิลด์ Union
|
|
mimeType |
ประเภท MIME ของไฟล์ |
ฟิลด์ Union
|
|
fileSize |
ขนาดของไฟล์ในหน่วยไบต์ |
ฟิลด์ Union
|
|
description |
คำอธิบายของไฟล์ |
ฟิลด์ Union
|
|
fileExtension |
นามสกุลไฟล์เดิมของไฟล์ ซึ่งจะแสดงเฉพาะไฟล์ที่มีเนื้อหาที่จัดเก็บไว้ในไดรฟ์ |
ฟิลด์ Union
|
|
contentSnippet |
ข้อมูลโค้ดที่สร้างขึ้นเกี่ยวกับเนื้อหาของไฟล์ |
ฟิลด์ Union
|
|
viewUrl |
URL สำหรับดูไฟล์ |
ฟิลด์ Union
|
|
sharedWithMeTime |
เวลาที่แชร์ไฟล์กับผู้ขอ ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น |
ฟิลด์ Union
|
|
createdTime |
เวลาที่สร้างไฟล์ ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น |
ฟิลด์ Union
|
|
modifiedTime |
เวลาล่าสุดที่มีการแก้ไขไฟล์ ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น |
ฟิลด์ Union
|
|
viewedByMeTime |
เวลาล่าสุดที่ผู้ขอเข้าชมไฟล์ ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น |
ฟิลด์ Union
|
|
owner |
อีเมลของเจ้าของไฟล์ |
การประทับเวลา
| การแสดง JSON |
|---|
{ "seconds": string, "nanos": integer } |
| ช่อง | |
|---|---|
seconds |
แสดงวินาทีของเวลา UTC ตั้งแต่ Epoch ของ Unix 1970-01-01T00:00:00Z ต้องอยู่ระหว่าง -62135596800 ถึง 253402300799 เท่านั้น (ซึ่งสอดคล้องกับ 0001-01-01T00:00:00Z ถึง 9999-12-31T23:59:59Z) |
nanos |
เศษส่วนของวินาทีที่ไม่เป็นค่าลบที่ความละเอียดระดับนาโนวินาที ฟิลด์นี้คือส่วนของระยะเวลาในหน่วยนาโนวินาที ไม่ใช่หน่วยวินาที ค่าวินาทีที่เป็นลบซึ่งมีเศษส่วนยังคงต้องมีค่านาโนที่เป็นค่าบวกซึ่งนับไปข้างหน้าตามเวลา ต้องอยู่ระหว่าง 0 ถึง 999,999,999 เท่านั้น |
คำอธิบายประกอบเครื่องมือ
คำแนะนำที่ทำลายล้าง: ❌ | คำแนะนำที่ทำซ้ำได้: ✅ | คำแนะนำแบบอ่านอย่างเดียว: ✅ | คำแนะนำแบบโลกเปิด: ❌