Google Drive API'si, dosya ve klasör aramak için çeşitli yöntemleri destekler.
Bir Drive kullanıcısının dosya ve klasörlerinin tamamını veya bir kısmını geri vermek için files.list
yöntemini kullanabilirsiniz. files.list
yöntemi, bazı kaynak yöntemleri (ör. files.get
ve files.update
) için gerekli olan fileId
değerini almak için de kullanılabilir.
Geçerli kullanıcının Drive'ım bölümündeki tüm dosya ve klasörleri ara
Tüm dosyaları ve klasörleri döndürmek için parametre olmadan files.list
yöntemini kullanın.
GET https://www.googleapis.com/drive/v3/files
Geçerli 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 sorgu dizesi q
alanını files.list
yöntemiyle birlikte kullanarak bir veya daha fazla arama terimini birleştirerek döndürülecek dosyaları filtreleyin.
Bir sorgu dizesi aşağıdaki üç bölümden oluşur:
query_term operator values
Burada:
query_term
, arama için kullanılacak sorgu terimi veya alanıdır.operator
, sorgu teriminin koşulunu belirtir.values
, arama sonuçlarınızı filtrelemek için kullanmak istediğiniz belirli değerlerdir.
Dosya ve klasörleri filtrelemek için kullanabileceğiniz sorgu terimlerini ve operatörleri görüntülemek için Arama sorgusu terimleri ve operatörleri bölümüne bakın.
Ö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 tarafından desteklenen MIME türleri başlıklı makaleyi inceleyin.
Sorgu dizesi örnekleri
Aşağıdaki tabloda bazı temel sorgu dizelerine ilişkin örnekler listelenmiştir. Gerçek kod, aramanız için kullandığınız istemci kitaplığına göre değişir.
Ayrıca sorgunun doğru çalıştığından emin olmak için dosya adlarınızda özel karakterler kullanmaktan kaçınmalısınız. Örneğin, bir dosya adında hem kesme işareti ('
) hem de ters eğik çizgi ("\"
) karakteri bulunuyorsa kod dışına almak için ters eğik çizgi kullanın: name
contains 'quinn\'s paper\\essay'
.
Sorgulamak istediğiniz şey | Örnek |
---|---|
"hello" adlı dosyalar | name = 'hello' |
"Merhaba" ve "hoşça kalın" kelimelerini içeren bir ada sahip dosyalar | name contains 'hello' and name contains 'goodbye' |
Adı "merhaba" kelimesini içermeyen dosyalar | not name contains 'hello' |
"Önemli" metnini ve çöp kutusunda olan dosyalar | fullText contains 'important' and trashed = true |
"Merhaba" kelimesini içeren dosyalar | fullText contains 'hello' |
"Merhaba" kelimesini içermeyen dosyalar | not fullText contains 'hello' |
Tam olarak "merhaba dünya" ifadesini içeren dosyalar | fullText contains '"hello world"' |
"\" karakterini içeren bir sorgu içeren 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 |
Bir koleksiyondaki uygulama verileri klasöründeki dosyalar | 'appDataFolder' in parents |
Sahibi "test@example.org" olan 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 |
"grup@example.org" grubu üyelerinin yazma iznine sahip olduğu dosyalar | 'group@example.org' in writers |
Adında "merhaba" ifadesi bulunan 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' } |
Herhangi bir kişiyle veya alanla paylaşılmayan (yalnızca gizli ya da belirli kullanıcılar veya gruplarla paylaşılmış) dosyalar | visibility = 'limited' |
Arama sonuçlarını istemci kitaplığıyla filtreleme
Aşağıdaki kod örneğinde, arama sonuçlarını JPEG dosyalarının dosya adlarına 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 daraltmak için mimeType
sorgu terimi kullanılmaktadır. Ayrıca, aramayı Drive alanını daha da kapsayacak şekilde daraltmak için spaces
değerini drive
olarak ayarlar. nextPageToken
, null
değerini döndürdüğünde
başka sonuç yok.
Java
Python
Node.js
PHP
Özel dosya özelliğine sahip dosyaları arama
Özel dosya özelliğine sahip dosyaları aramak için anahtar ve değerle birlikte properties
veya appProperties
arama sorgusu terimini kullanın. Örneğin, 8e8aceg2af2ge72e78
değerine sahip ve additionalID
adlı istekte bulunan uygulamaya özel özel dosya özelliğini aramak için:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
Daha fazla bilgi için Özel dosya özellikleri ekleme konusuna bakın.
Belirli bir etikete veya alan değerine sahip dosyaları arama
Belirli etiketlere sahip dosyaları aramak için labels
arama sorgusu terimini belirli bir etiket kimliğiyle kullanın. Örnek: 'labels/LABEL_ID' in
labels
. Başarılı olursa yanıt gövdesi, 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, şu metin değerine sahip 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 bölümüne bakın.
Koleksiyonda ara
files.list
çağrısı yapan aramalar varsayılan olarak user
öğesinin corpora
değerini kullanır. domain
ile paylaşılan dosyalar gibi başka derlemelerde arama yapmak için corpora
parametresini ayarlayın.
Tek bir sorguda birden çok topluluk aranabilir ancak birleşik topluluk çok büyük olursa eksik sonuçlar döndürülebilir. incompleteSearch
, yanıt gövdesinde true
ise tüm dokümanlar döndürülmedi. Bu durumda, user
veya drive
gibi farklı bir derleme seçerek sorgunuzu daraltmanız gerekir.
İlgili konular
- Ortak Drive arama
- Arama sorgusu terimleri ve operatörleri
- Google Workspace ve Google Drive tarafından desteklenen MIME türleri
- Roller ve izinler
- Belirli bir etikete veya alan değerine sahip dosyaları arama