Dosya için belirli alanları döndürme

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 dışı verilerdir. 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çin a/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 veya fields=* ile permissions.get.
  • fields=permissions(role) veya fields=permissions/role ile files.get.
  • İç içe yerleştirilmiş tüm alanları ima etmek için fields=permissions ile files.get gösterir.
  • fields=changes(file(permissions(role))) ile changes.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"
    }
  ]
}