Google Drive API'sı, dosya ve klasörlerde arama yapmak için çeşitli yöntemleri destekler.
Bir Drive kullanıcısının dosya ve klasörlerinin tümünü veya bir kısmını döndürmek için files.list
yöntemini kullanabilirsiniz. files.list
yöntemi, bazı kaynak yöntemleri (files.get
ve files.update
gibi) için gerekli fileId
öğelerini almak için de kullanılabilir.
Geçerli kullanıcının Drive'ım bölümündeki tüm dosyaları ve klasörleri arama
Tüm dosya ve klasörleri döndürmek için files.list
yöntemini parametre olmadan 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 istiyorsanız bir veya daha fazla arama terimini birleştirerek döndürülecek dosyaları filtrelemek için files.list
yöntemiyle q
sorgu dizesini kullanın.
Bir sorgu dizesi aşağıdaki üç bölümü içerir:
query_term operator values
Burada:
query_term
, aranacak 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, aramayı MIME türünü ayarlayarak yalnızca klasör döndürecek şekilde filtreler:
q: mimeType = 'application/vnd.google-apps.folder'
MIME türleri hakkında daha fazla bilgi edinmek için Google Workspace ve Google Drive tarafından desteklenen MIME türleri başlıklı makaleye göz atın.
Sorgu dizesi örnekleri
Aşağıdaki tabloda bazı temel sorgu dizelerine örnekler verilmiştir. Asıl kod, aramanız için kullandığınız istemci kitaplığına bağlı olarak değişiklik gösterir.
Sorgulamak istediğiniz şey | Örnek |
---|---|
"merhaba" adlı dosyalar | name = 'hello' |
Adı "merhaba" ve "hoşçakal" kelimelerini içeren dosyalar | name contains 'hello' and name contains 'goodbye' |
Adı "merhaba" içermeyen 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" kelimesini içermeyen dosyalar | not fullText contains 'hello' |
Tam olarak "merhaba dünya" ifadesini içeren dosyalar | fullText contains '"hello world"' |
"\" karakterini içeren 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 koleksiyonda, uygulama verileri 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 |
"grup@example.org" grubunun üyelerinin yazma iznine sahip olduğu dosyalar | 'group@example.org' in writers |
Yetkili kullanıcıyla paylaşılan ve adında "merhaba" ifadesi bulunan dosyalar | sharedWithMe and name contains 'hello' |
Tüm uygulamalar tarafından görülebilen özel bir dosya özelliğine sahip dosyalar | properties has { key='mass' and value='1.3kg' } |
İstekte bulunan uygulamaya özel özel bir dosya özelliğine sahip dosyalar | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
Hiç kimse veya alanla paylaşılmamış (yalnızca gizli ya da belirli kullanıcılar veya gruplarla paylaşılmış) dosyalar | 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ına ve kimliklerine göre filtrelemek için bir istemci kitaplığının nasıl kullanılacağı gösterilmektedir. Bu örnekte, sonuçları image/jpeg
türündeki dosyalara göre daraltmak 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
değerini döndürdüğünde başka sonuç yoktur.
Java
Python
Node.js
PHP
Özel dosya özelliği olan dosyaları arama
Özel dosya özelliğine sahip dosyaları aramak için anahtar ve değer ile birlikte properties
veya appProperties
arama sorgusu terimini kullanın. Örneğin, 8e8aceg2af2ge72e78
değerine sahip 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 bölümüne bakın.
Belirli bir etikete veya alan değerine sahip dosyaları arama
Belirli etiketlere sahip dosyaları aramak için belirli bir etiket kimliğine sahip labels
arama sorgusu terimini kullanın. Örneğin: '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ğine sahip 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 bölümüne bakın.
Toplulukta arama yapma
files.list
çağıran aramalar varsayılan olarak user
öğesinin corpora
kodunu kullanır. domain
ile paylaşılan dosyalar gibi başka şirketlerde arama yapmak için corpora
parametresini ayarlayın.
Tek bir sorguda birden fazla topluluk araması yapılabilir. Ancak, birleştirilen topluluk çok büyükse eksik sonuçlar döndürülebilir. Yanıt gövdesinde incompleteSearch
değeri true
ise tüm dokümanlar döndürülmemiştir. Bu gerçekleşirse, user
veya drive
gibi farklı bir şirket seçerek sorgunuzun kapsamını daraltmanız gerekir.
İlgili konular
- Ortak Drive'ları 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