Google Drive API, dosya ve klasörleri aramanın çeşitli yollarını destekler.
Bir Drive kullanıcısının dosya ve klasörlerinin tamamını veya bir kısmını döndürmek için files.list
yöntemini kullanabilirsiniz. files.list
yöntemi, bazı kaynak yöntemleri (ör. files.get
ve files.update
) için gereken fileId
değerini almak amacıyla da kullanılabilir.
Mevcut kullanıcının Drive'ım bölümündeki tüm dosya ve klasörleri arayın
Tüm dosyaları ve klasörleri döndürmek için files.list
yöntemini parametre olmadan kullanın.
GET https://www.googleapis.com/drive/v3/files
Mevcut kullanıcının Drive'ım bölümünde belirli dosyaları veya klasörleri arama
Belirli bir dosya veya klasör grubunu aramak için q
sorgusu alanını files.list
yöntemiyle kullanın. Böylece, bir veya daha fazla arama terimini birleştirerek döndürülecek dosyaları filtreleyebilirsiniz.
Sorgu dizesi aşağıdaki üç bölümü içerir:
query_term operator values
Burada:
query_term
, aranacak sorgu terimi veya alandır.operator
, sorgu terimi için koşulu belirtir.values
, arama sonuçlarınızı filtrelemek için kullanmak istediğiniz değerlerdir.
Dosyaları ve klasörleri filtrelemek için kullanabileceğiniz sorgu terimlerini ve operatörlerini görüntülemek istiyorsanız Arama sorgusu terimleri ve operatörleri başlıklı makaleyi inceleyin.
Örneğin, aşağıdaki sorgu dizesi, MIME türünü ayarlayarak aramayı yalnızca klasörleri döndürecek şekilde filtreler:
q: mimeType = 'application/vnd.google-apps.folder'
MIME türleri hakkında daha fazla bilgi için Google Workspace ve Google Drive'ın desteklediği MIME türleri başlıklı makaleyi inceleyin.
Sorgu dizesi örnekleri
Aşağıdaki tabloda bazı temel sorgu dizelerinin örnekleri listelenmiştir. Gerçek kod, aramanız için kullandığınız istemci kitaplığına bağlı olarak değişir.
Sorgunun doğru çalıştığından emin olmak için dosya adlarınızdaki özel karakterleri de kod dışına almanız gerekir. Örneğin, bir dosya adı hem apostrof ('
) hem de ters eğik çizgi ("\"
) karakteri içeriyorsa bu karakterleri kod dışı bırakmak için ters eğik çizgi kullanın: name
contains 'quinn\'s paper\\essay'
.
Sorgulamak istediğiniz veri | Örnek |
---|---|
"merhaba" adlı dosyalar | name = 'hello' |
Adında "merhaba" ve "hoşça kalın" kelimeleri bulunan dosyalar | name contains 'hello' and name contains 'goodbye' |
Adında "merhaba" kelimesi bulunmayan dosyalar | not name contains 'hello' |
"Önemli" metnini içeren ve çöp kutusunda bulunan dosyalar | fullText contains 'important' and trashed = true |
"Merhaba" kelimesini içeren dosyalar | fullText contains 'hello' |
"Merhaba" kelimesinin bulunmadığı dosyalar | not fullText contains 'hello' |
Tam olarak "merhaba dünya" ifadesini içeren dosyalar | fullText contains '"hello world"' |
"\" karakterini içeren bir sorguya sahip dosyalar (örneğin, "\authors") | fullText contains '\\authors' |
Klasör olan dosyalar | mimeType = 'application/vnd.google-apps.folder' |
Klasör olmayan dosyalar | mimeType != 'application/vnd.google-apps.folder' |
Belirli bir tarihten sonra değiştirilen dosyalar (varsayılan saat dilimi UTC'dir) | modifiedTime > '2012-06-04T12:00:00' |
Belirli bir tarihten sonra değiştirilen resim veya video dosyaları | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') |
Yıldızlı dosyalar | starred = true |
Bir koleksiyondaki dosyalar (örneğin, parents koleksiyonundaki klasör kimliği) |
'1234567' in parents |
Koleksiyondaki bir uygulama veri klasöründeki dosyalar | 'appDataFolder' in parents |
"test@example.org" kullanıcısının sahibi olduğu dosyalar | 'test@example.org' in owners |
"test@example.org" kullanıcısının yazma iznine sahip olduğu dosyalar | 'test@example.org' in writers |
"group@example.org" grubunun üyelerinin yazma izninin olduğu dosyalar | 'group@example.org' in writers |
Adında "merhaba" olan, yetkili kullanıcıyla paylaşılan dosyalar | sharedWithMe and name contains 'hello' |
Tüm uygulamalar tarafından görülebilen özel dosya özelliğine sahip dosyalar | properties has { key='mass' and value='1.3kg' } |
İstekte bulunan uygulamaya özel özel dosya özelliğine sahip dosyalar | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
Hiç kimseyle veya alanla paylaşılmayan dosyalar (yalnızca gizli veya belirli kullanıcılarla ya da gruplarla paylaşılan) | visibility = 'limited' |
İstemci kitaplığıyla arama sonuçlarını filtreleme
Aşağıdaki kod örneğinde, arama sonuçlarını JPEG dosyalarının dosya adları ve kimliklerine göre filtrelemek için istemci kitaplığının nasıl kullanılacağı gösterilmektedir. Bu örnekte, sonuçları image/jpeg
türündeki dosyalarla sınırlamak için mimeType
sorgu terimi kullanılmaktadır. Ayrıca, aramayı Drive alanı ile daha da daraltmak için spaces
değerini drive
olarak ayarlar. nextPageToken
, null
döndürdüğünde başka sonuç yoktur.
Java
Python
Node.js
PHP
Özel dosya özelliğine sahip dosyaları arama
Özel dosya özelliğine sahip dosyaları aramak için properties
veya appProperties
arama sorgusu terimini anahtar ve değerle birlikte kullanın. Örneğin, additionalID
adlı ve 8e8aceg2af2ge72e78
değerine sahip, istek gönderen uygulamaya özel bir özel dosya özelliğini aramak için:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
Daha fazla bilgi için Özel dosya özellikleri ekleme başlıklı makaleyi inceleyin.
Belirli bir etikete veya alan değerine sahip dosyaları arama
Belirli etiketlere sahip dosyaları aramak için belirli bir etiket kimliğiyle birlikte labels
arama sorgusu terimini kullanın. Örneğin: 'labels/LABEL_ID' in
labels
. Başarılı olursa yanıt metni, etiketin uygulandığı tüm dosya örneklerini içerir.
Belirli bir etiket kimliği olmayan dosyaları aramak için: Not
'labels/LABEL_ID' in labels
.
Dosyaları belirli alan değerlerine göre de arayabilirsiniz. Örneğin, metin değeri olan dosyaları aramak için:
labels/LABEL_ID.text_field_id ='TEXT'
.
Daha fazla bilgi için Belirli bir etikete veya alan değerine sahip dosyaları arama başlıklı makaleyi inceleyin.
Derlemelerde arama yapma
files.list
çağrısı yapan aramalar varsayılan olarak user
'in corpora
değerini kullanır. domain
ile paylaşılan dosyalar gibi diğer korpüslerde arama yapmak için corpora
parametresini ayarlayın.
Tek bir sorguda birden fazla korpus aranabilir ancak birleştirilen korpuslar çok büyükse eksik sonuçlar döndürülebilir. Yanıt gövdesinde incompleteSearch
isetrue
tüm dokümanlar döndürülmemiştir. Bu durumda, user
veya drive
gibi farklı bir korpus seçerek sorgunuzu daraltmanız gerekir.
İlgili konular
- Ortak Drive arama
- Arama sorgusu terimleri ve operatörleri
- Google Workspace ve Google Drive'ın desteklediği MIME türleri
- Roller ve izinler
- Belirli bir etikete veya alan değerine sahip dosyaları arama