Bu kılavuzda, Google Drive API'nin dosya ve klasör aramanın çeşitli yollarını nasıl desteklediği açıklanmaktadır.
Drive kullanıcısının dosya ve klasörlerinin tamamını veya bir kısmını döndürmek için list
kaynağında files
yöntemini kullanabilirsiniz. list
yöntemi, bazı kaynak yöntemleri (ör. get
yöntemi ve update
yöntemi) için gereken fileId
değerini almak üzere de kullanılabilir.
Alanlar parametresini kullanma
Yanıtla döndürülecek alanları belirtmek istiyorsanız fields
system
parametresini
files
kaynağının herhangi bir yöntemiyle ayarlayabilirsiniz. fields
parametresini atlarsanız sunucu, yönteme özgü varsayılan bir alan kümesi döndürür. Örneğin, list
yöntemi her dosya için yalnızca kind
, id
, name
, mimeType
ve resourceKey
alanlarını döndürür. Farklı alanları döndürmek için Belirli alanları döndürme başlıklı makaleye bakın.
Dosya alma
Dosya almak için fileId
yol parametresiyle files
kaynağında get
yöntemini kullanın.
Dosya kimliğini bilmiyorsanız list
yöntemini kullanarak tüm dosyaları listeleyebilirsiniz.
Yöntem, dosyayı files
kaynağının bir örneği olarak döndürür. alt=media
sorgu parametresini sağlarsanız yanıt, dosya içeriklerini yanıt gövdesinde içerir. Dosyayı indirmek veya dışa aktarmak için Dosyaları indirme ve dışa aktarma başlıklı makaleyi inceleyin.
Bilinen kötü amaçlı yazılımları veya diğer kötüye kullanım amaçlı dosyaları indirmenin riskini kabul etmek için acknowledgeAbuse
sorgu parametresini true
olarak ayarlayın. Bu alan yalnızca alt=media
parametresi ayarlandığında ve kullanıcının dosya sahibi ya da dosyanın bulunduğu ortak Drive'ın düzenleyicisi olması durumunda geçerlidir.
Mevcut kullanıcının Drive'ım bölümündeki tüm dosya ve klasörleri arama
Tüm dosya ve klasörleri döndürmek için parametre içermeyen list
yöntemini kullanın.
GET https://www.googleapis.com/drive/v3/files
Mevcut kullanıcının Drive'ım bölümünde belirli dosya veya klasörleri arama
Belirli bir dosya veya klasör grubunu aramak için q
sorgu dizesi alanını kullanın. list
yöntemiyle, bir veya daha fazla arama terimini birleştirerek döndürülecek dosyaları filtreleyin.
Sorgu dizesi söz dizimi 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 kullanmak istediğiniz belirli değerlerdir.
Örneğin, aşağıdaki sorgu dizesi, MIME türü ayarlanarak yalnızca klasörlerin döndürülmesi için aramayı filtreler:
q: mimeType = 'application/vnd.google-apps.folder'
Tüm dosya sorgu terimlerini görüntülemek için Dosyaya özgü sorgu terimleri başlıklı makaleyi inceleyin.
Sorgu oluşturmak için kullanabileceğiniz tüm sorgu operatörlerini görüntülemek üzere Sorgu operatörleri başlıklı makaleyi inceleyin.
Sorgu dizesi örnekleri
Aşağıdaki tabloda, bazı temel sorgu dizeleriyle ilgili örnekler verilmiştir. Gerçek kod, aramanız için kullandığınız istemci kitaplığına bağlı olarak değişir.
Sorgunun doğru şekilde çalışması için dosya adlarınızdaki özel karakterleri de kod dışına almanız gerekir. Örneğin, bir dosya adında hem kesme işareti ('
) hem de ters eğik çizgi ("\"
) karakteri varsa bunları kod dışı bırakmak için ters eğik çizgi kullanın: name
contains 'quinn\'s paper\\essay'
.
Sorgulamak istediğiniz öğe | Örnek |
---|---|
"hello" adlı dosyalar | name = 'hello' |
Adında "merhaba" ve "güle güle" kelimeleri geçen 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" kelimesini içermeyen dosyalar | not fullText contains 'hello' |
"hello world" kelime öbeğini tam olarak 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ız eklenen dosyalar | starred = true |
Bir koleksiyondaki dosyalar (örneğin, parents koleksiyonundaki klasör kimliği) |
'1234567' in parents |
Koleksiyondaki 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 |
"group@example.org" grubunun üyelerinin yazma iznine sahip olduğu dosyalar | 'group@example.org' in writers |
Adında "hello" geçen ve yetkili kullanıcıyla paylaşılan dosyalar | sharedWithMe and name contains 'hello' |
Tüm uygulamaların görebileceği özel dosya özelliği içeren dosyalar | properties has { key='mass' and value='1.3kg' } |
İstekte bulunan uygulamaya özel özel dosya özelliği içeren dosyalar | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
Hiç kimseyle veya alanla paylaşılmamış dosyalar (yalnızca gizli ya da belirli kullanıcılar veya gruplarla paylaşılmış) | visibility = 'limited' |
Arama sonuçlarını istemci kitaplığıyla filtreleme
Aşağıdaki kod örneğinde, arama sonuçlarını JPEG dosyalarının 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 sınırlamak için mimeType
sorgu terimi kullanılmaktadır. Ayrıca, aramayı Drive alanıyla 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 içeren dosyaları arama
Özel dosya özelliği içeren dosyaları aramak için anahtar ve değer içeren properties
veya appProperties
arama sorgusu terimini kullanın. Örneğin, additionalID
adlı istekte bulunan uygulamaya özel olan ve 8e8aceg2af2ge72e78
değerine sahip 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 etiket veya alan değerine sahip dosyaları arama
Belirli etiketlere sahip dosyaları aramak için labels
arama sorgusu terimini belirli bir etiket kimliğiyle birlikte 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
.
Ayrıca, belirli alan değerlerine göre de dosya 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 etiket veya alan değerine sahip dosyaları arama başlıklı makaleyi inceleyin.
Derlemelerde arama yapma
list
yöntemini çağıran aramalarda varsayılan olarak user
corpora
kullanılır. domain
ile paylaşılan dosyalar gibi diğer derlemlerde arama yapmak için corpora
parametresini ayarlayın.
Bir sorguda birden fazla derlemeye arama yapılabilir. Ancak birleştirilmiş derlemeler çok büyükse eksik sonuçlar döndürülebilir. Yanıt gövdesinde incompleteSearch
true
varsa tüm belgeler döndürülmemiştir. Bu durumda, user
veya drive
gibi farklı bir derlem seçerek sorgunuzu daraltmanız gerekir.
İlgili konular
- Ortak Drive'ları arama
- Arama sorgusu terimleri ve operatörleri
- Google Workspace ve Google Drive'da desteklenen MIME türleri
- Roller ve izinler
- Belirli bir etiket veya alan değerine sahip dosyaları arama