Tam olarak ihtiyacınız olan alanları döndürmek ve performansı iyileştirmek için fields
özelliğini kullanın.
sorgu parametresinden önce ekleyin.
Sunucu, varsayılan olarak, oluşturulan kaynağa özel alanları geri gönderir.
sorgulandı. Örneğin, files.get
yöntemi yalnızca id
, name
ve mimeType
özelliklerini döndürebilir
files
kaynağı. İlgili içeriği oluşturmak için kullanılan
permissions.get
yöntemi,
bir sorguda farklı bir varsayılan alan
permissions
kaynak.
Sunucu, fields
sorgusunu içeren geçerli bir isteği işledikten sonra
parametresi için bir HTTP 200 OK
durum kodu gönderir. Bu kod, istenen
verileri. Alan sorgu parametresinde hata varsa veya geçersizse
sunucu, bir hatayla birlikte bir HTTP 400 Bad Request
durum kodu döndürür
alan seçiminizle ilgili sorunun ne olduğunu belirten bir mesaj görürsünüz. Örneğin,
files.list(fields='files(id,capabilities,canAddChildren)')
, şu hatayı veriyor:
"Geçersiz alan seçimi canAddChildren." Şunun için doğru alanlar sorgu parametresi:
bu örnek
files.list(fields='files(id,capabilities/canAddChildren)')
fields
parametresini kullanarak döndürebileceğiniz alanları belirlemek için
belgeler sayfasını kontrol edin. Örneğin, Yeşil Ofis’in
daha fazla bilgi edinmek için files
kaynak belgelerini inceleyin.
Alan parametresi biçim kuralları
Alanlar istek parametresi değerinin biçimi genel olarak XPath'e dayalıdır
söz dizimine uygun olmalıdır. Aşağıda, fields
parametresi için biçimlendirme kuralları verilmiştir. Tümü
bu kurallar, files.get
yöntemiyle ilgili örnekler kullanır.
'name, mimeType'
gibi birden çok alan seçmek için virgülle ayrılmış liste kullanın.a
alanının içine yerleştirilmişb
alanını (ör.a/b
) seçmek içina/b
kullanın.'capabilities/canDownload'
. Daha fazla bilgi için Bir iç içe yerleştirilmiş öğrenin.Dizilerin belirli alt alanlarını istemek için bir alt seçici kullanın veya nesneleri parantez içine alabilirsiniz: "()". Örneğin,
'permissions(id)'
, izinleri dizisidir.Bir nesnedeki tüm alanları döndürmek için alanda joker karakter olarak yıldız kullanın seçimler. Örneğin,
'permissions/permissionDetails/*'
tümünü seçer kullanılabilir izin ayrıntıları alanı sayısı. Lütfen Bu joker karakter, istek üzerinde performansı olumsuz yönde etkileyebilir.
Örnek göster
İstek
Bu örnekte, istekte sorgu parametresi olarak dosya kimliği yol parametresini ve birden çok alanı sağlıyoruz. Yanıt, dosya kimliği için alan değerlerini döndürür.
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared
Yanıt
{ "name": "File1", "starred": false, "shared": true } }
İç içe yerleştirilmiş kaynağın alanlarını getirme
Bir alan başka bir kaynağa referansta bulunduğunda, iç içe yerleştirilmiş kaynağın getirilmesi gerekir.
Örneğin, permissions
öğesinin role
alanını (iç içe yerleştirilmiş kaynak) almak için
aşağıdaki seçeneklerden birini kullanın:
fields=role
veyafields=*
ilepermissions.get
.fields=permissions(role)
veyafields=permissions/role
ilefiles.get
.- İç içe yerleştirilmiş tüm alanları ima etmek için
fields=permissions
ilefiles.get
gösterir. fields=changes(file(permissions(role)))
ilechanges.list
.
Birden çok alanı almak için virgülle ayrılmış liste kullanın. Örneğin,
fields=files(id,name,createdTime,modifiedTime,size)
ile files.list
.
Örnek göster
İstek
Bu örnekte, istekte sorgu parametresi olarak dosya kimliği yol parametresini ve iç içe yerleştirilmiş izinlerin belirli alanları da dahil olmak üzere birden çok alan sağlıyoruz. Yanıt, dosya kimliği için alan değerlerini döndürür.
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared,permissions(kind,type,role)
Yanıt
{ "name": "File1", "starred": false, "shared": true, "permissions": [ { "kind": "drive#permission", "type": "user", "role": "owner" } ] }