Araç: search_files
Yapılandırılmış bir sorgu verildiğinde Drive dosyalarını aramak için bu aracı çağırın.
query alanında sorgu arama operatörlerinin kullanılması gerekir.
Bir sorgu dizesi aşağıdaki üç bölümü içerir: query_term operator values. Burada:
query_term, sorgu terimi veya aranacak alandır.operator, sorgu terimi için koşulu belirtir.values, arama sonuçlarınızı filtrelemek için kullanacağınız değerlerdir.
Sorgu Terimleri
Aşağıdaki tabloda, geçerli sorgu terimleri ve açıklamaları listelenmektedir:
| Sorgu Terimi | Geçerli operatörler | Kullanım |
|---|---|---|
title |
contains, =, != |
Dosyanın başlığı. Tek tırnak işareti (') ile çevreleyin. Sorgulardaki tek tırnak işaretlerini \' ile kod dışına alın (ör. 'Valentine\'s Day'). |
fullText |
contains |
Dosya içeriğindeki title veya metnin eşleşip eşleşmediği. Tek tırnak işareti (') ile çevreleyin. Sorgulardaki tek tırnak işaretlerini \' ile kod dışına alın (ör. 'Valentine\'s Day'). |
mimeType |
contains, =, != |
Dosyanın MIME türü. Tek tırnak işareti (') ile çevreleyin. Sorgulardaki tek tırnak işaretlerini \' ile kod dışına alın (ör. 'Valentine\'s Day'). |
modifiedTime |
<=, <, =, !=, >, >= |
Dosyanın son değiştirildiği tarih. RFC 3339 biçimi, varsayılan saat dilimi UTC'dir (ör. 2012-06-04T12:00:00-08:00). date türündeki alanlar karşılaştırılamaz. |
viewedByMeTime |
<=, <, =, !=, >, >= |
Kullanıcının bir dosyayı en son görüntülediği tarih. RFC 3339 biçimi, varsayılan saat dilimi UTC'dir (ör. 2012-06-04T12:00:00-08:00). date türündeki alanlar karşılaştırılamaz. |
parentId |
=, != |
Üst öğenin belirtilen kimliğe eşit olup olmadığı. root, kullanıcının birincil hiyerarşisi olarak işlev gören "Drive'ım" bölümünü belirtmek için kullanılabilir. |
owner |
=, != |
Dosyanın sahibi olan kullanıcı me, isteği yapan kullanıcıyı belirtmek için kullanılabilir. |
sharedWithMe |
=, != |
Kullanıcının "Benimle paylaşılanlar" koleksiyonundaki dosyalar. Tüm dosya kullanıcıları, dosyanın erişim kontrol listesinde (EKL) yer alır. true veya false olabilir. |
createdTime |
<=, <, =, !=, >, >= |
Dosyanın oluşturulduğu tarih. RFC 3339 biçimini kullanın. Varsayılan saat dilimi UTC'dir (ör. 2012-06-04T12:00:00-08:00). |
Sorgu Operatörleri
Aşağıdaki tabloda geçerli sorgu operatörleri listelenmiştir:
| Operatör | Kullanım |
|---|---|
contains |
Bir dizenin içeriği diğerinde yer alıyor. |
= |
Bir dizenin veya boole değerinin içeriği diğerine eşittir. |
!= |
Bir dizenin veya boole değerinin içeriği diğerine eşit değil. |
< |
Bir değerin diğerinden küçük olması |
<= |
Bir değer, başka bir değerden küçük veya ona eşitse |
> |
Bir değerin diğerinden büyük olması. |
>= |
Bir değer, başka bir değerden büyük veya ona eşitse |
in |
Bir öğe, koleksiyon içinde yer alır. |
and |
Her iki sorguyla da eşleşen öğeleri döndürür. |
or |
İki sorgudan biriyle eşleşen öğeleri döndürür. |
not |
Arama sorgusunu olumsuzlar. |
has |
Koleksiyonda, parametrelerle eşleşen bir öğe bulunur. |
Bazı sorgu örnekleri:
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)
Sonuçlar arasında gezinmek için next_page_token tuşunu kullanın. Boş yanıt, sonuç olmadığını veya döndürülecek başka sonuç olmadığını gösterir.
Aşağıdaki örnekte, curl kullanılarak search_files MCP aracının nasıl çağrılacağı gösterilmektedir.
| Curl İsteği |
|---|
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 }' |
Giriş Şeması
Dosyaları 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 } |
| 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. |
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 olmalıdır (0001-01-01T00:00:00Z ile 9999-12-31T23:59:59Z'ye karşılık gelir). |
nanos |
Nanosaniye çözünürlüğünde, negatif olmayan saniyenin kesirleri. Bu alan, sürenin nanosaniye kısmıdır ve saniyenin alternatifi değildir. 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: ❌