Araç: search_files
Yapılandırılmış bir sorgu kullanarak Drive dosyalarını arayın (söz dizimi: query_term operator values). and, or, not ve parantezlerle birleştirin. Dize değerleri tek tırnak içine alınmalı, yerleştirilmiş tırnaklar \' olarak kod dışına alınmalıdır.
Sorgu terimleri ve operatörleri:
title(ops: contains, =, !=) — dosya başlığıfullText(ops: contains) — başlık veya gövde metnimimeType(ops: contains, =, !=) — MIME türümodifiedTime,viewedByMeTime,createdTime(isteğe bağlı:<=,<,=,!=,>,>=). RFC 3339 UTC'yi kullanın. Örneğin:2012-06-04T12:00:00-08:00. Tarih türleri karşılaştırılamaz.parentId(ops:=,!=). Kullanıcının "Drive'ım" bölümü için'root'değerini kullanın.owner(işlemler:=,!=). İstekte bulunan kullanıcı için'me'değerini kullanın.sharedWithMe(işlemler:=,!=). Değerler:trueveyafalse.
Diğer operatörler: and, or, not.
Örnekler:
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'(kullanıcıya ait dosyalar için)
Sayfalandırmak için next_page_token kullanın. Boş yanıt, başka sonuç olmadığını gösterir.
Aşağıdaki örnekte, search_files MCP aracını çağırmak için curl simgesinin nasıl kullanılacağı gösterilmektedir.
| Curl İsteği |
|---|
curl --location 'https://drivemcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --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's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Giriş Şeması
Dosyalarda arama isteği
SearchFilesRequest
| JSON gösterimi |
|---|
{ "query": string, "pageToken": string "pageSize": integer "excludeContentSnippets": boolean } |
| Alanlar | |
|---|---|
query |
Arama sorgusu. |
|
|
pageToken |
Sayfalara ayırma için kullanılacak sayfa jetonu. |
|
|
pageSize |
Her sayfada döndürülecek maksimum dosya sayısı. |
|
|
excludeContentSnippets |
Doğruysa içerik snippet'i yanıttan çıkarılır. |
Çıkış Şeması
Arama dosyalarına yanıt verme
SearchFilesResponse
| JSON gösterimi |
|---|
{
"files": [
{
object ( |
| Alanlar | |
|---|---|
files[] |
Yalnızca çıkış. Dosya listesi. |
|
|
nextPageToken |
Sonraki sayfa jetonu. |
Dosya
| JSON gösterimi |
|---|
{ "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 "canAddChildren": boolean } |
| Alanlar | |
|---|---|
id |
Getirilen dosyanın kimliği. |
title |
Dosyanın başlığı. |
parentId |
Dosyanın üst öğesinin (isteğe bağlı) kimliği. |
|
|
mimeType |
Dosyanın MIME türü. |
|
|
fileSize |
Dosyanın bayt cinsinden boyutu. |
|
|
description |
Dosyanın açıklaması. |
|
|
fileExtension |
Dosyanın orijinal dosya uzantısı. Bu alan yalnızca Drive'da depolanan içeriğe sahip dosyalar için doldurulur. |
|
|
contentSnippet |
Dosyanın içeriği hakkında oluşturulan snippet. |
|
|
viewUrl |
Dosyayı görüntülemek için kullanılan URL. |
|
|
sharedWithMeTime |
Dosyanın istekte bulunan kullanıcıyla paylaşıldığı zaman Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: |
|
|
createdTime |
Dosyanın oluşturulduğu zaman. Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: |
|
|
modifiedTime |
Dosyanın en son değiştirildiği zaman. Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: |
|
|
viewedByMeTime |
Dosyanın istekte bulunan kullanıcı tarafından en son görüntülendiği zaman. Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: |
|
|
owner |
Dosyanın sahibinin e-posta adresi. |
|
|
canAddChildren |
İstekte bulunan kullanıcının bu klasöre alt öğe ekleyip ekleyemeyeceğini belirtir. Bu değer, klasör olmayan türler için her zaman yanlıştır. |
Zaman damgası
| JSON gösterimi |
|---|
{ "seconds": string, "nanos": integer } |
| Alanlar | |
|---|---|
seconds |
Unix sıfır zamanı 1970-01-01T00:00:00Z'den itibaren UTC zamanının saniyelerini gösterir. -62135596800 ile 253402300799 arasında (0001-01-01T00:00:00Z ile 9999-12-31T23:59:59Z'ye karşılık gelir) olmalıdır. |
nanos |
Nanosaniye çözünürlüğünde, negatif olmayan saniyenin kesirleri. Bu alan, saniyelere alternatif olarak değil, sürenin nanosaniye kısmını belirtmek için kullanılır. Kesirli negatif saniye değerleri, zaman içinde ileriye doğru sayılan negatif olmayan nanos değerlerine sahip olmalıdır. 0 ile 999.999.999 arasında olmalıdır (bu değerler dahil). |
Araç Ek Açıklamaları
Yıkıcı İpucu: ❌ | İdempotent İpucu: ✅ | Salt Okunur İpucu: ✅ | Açık Dünya İpucu: ❌
Yetkilendirme Kapsamları
Aşağıdaki OAuth kapsamlarından birini gerektirir:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.appdatahttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/drive.meet.readonlyhttps://www.googleapis.com/auth/drive.metadatahttps://www.googleapis.com/auth/drive.metadata.readonlyhttps://www.googleapis.com/auth/drive.photos.readonlyhttps://www.googleapis.com/auth/drive.readonly