Menampilkan kolom tertentu untuk file

Untuk menampilkan kolom yang tepat yang Anda butuhkan, dan meningkatkan performa, gunakan parameter kueri fields dalam panggilan metode Anda.

Secara default, server mengirimkan kembali kumpulan kolom khusus untuk resource yang dikueri. Misalnya, metode files.get mungkin hanya menampilkan id, name, dan mimeType untuk resource files. Metode permissions.get menampilkan kumpulan kolom default yang berbeda untuk resource permissions.

Setelah memproses permintaan valid yang berisi parameter kueri fields, server akan mengirimkan kembali kode status HTTP 200 OK, bersama dengan data yang diminta. Jika parameter kueri kolom memiliki error atau tidak valid, server akan menampilkan kode status HTTP 400 Bad Request, beserta pesan error yang menyatakan masalah yang terjadi dengan pilihan kolom Anda. Misalnya, files.list(fields='files(id,capabilities,canAddChildren)') akan menghasilkan error "Tidak valid pemilihan kolom canAddChildren". Parameter kueri kolom yang benar untuk contoh ini adalah files.list(fields='files(id,capabilities/canAddChildren)').

Untuk menentukan kolom yang dapat ditampilkan menggunakan parameter fields, buka halaman dokumentasi resource yang Anda minta. Misalnya, untuk melihat kolom yang dapat ditampilkan untuk sebuah file, lihat dokumentasi resource files.

Aturan format parameter kolom

Format nilai parameter permintaan kolom hanya didasarkan pada sintaksis XPath. Berikut adalah aturan pemformatan untuk parameter fields. Semua aturan ini menggunakan contoh terkait metode files.get.

  • Gunakan daftar yang dipisahkan koma untuk memilih beberapa kolom, seperti 'name, mimeType'.

  • Gunakan a/b untuk memilih kolom b yang bertingkat dalam kolom a, seperti 'capabilities/canDownload'. Untuk mengetahui informasi selengkapnya, baca Mengambil kolom untuk resource bertingkat.

  • Gunakan sub-selektor untuk meminta kumpulan sub-kolom spesifik dari array atau objek dengan menempatkan ekspresi dalam tanda kurung "()". Misalnya, 'permissions(id)' hanya menampilkan ID izin untuk setiap elemen dalam array izin.

  • Untuk menampilkan semua kolom dalam sebuah objek, gunakan tanda bintang sebagai karakter pengganti dalam pilihan kolom. Misalnya, 'permissions/permissionDetails/*' memilih semua kolom detail izin yang tersedia per izin. Perhatikan bahwa penggunaan karakter pengganti ini dapat menyebabkan dampak negatif pada performa permintaan.

Tampilkan contoh

Permintaan

Dalam contoh ini, kami menyediakan parameter jalur ID file dan beberapa kolom sebagai parameter kueri dalam permintaan. Respons akan menampilkan nilai kolom untuk ID file.

GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared

Respons

{
  "name": "File1",
  "starred": false,
  "shared": true
  }
}

Mengambil kolom resource bertingkat

Jika sebuah kolom merujuk ke resource lain, Anda dapat menentukan kolom mana dari resource bertingkat yang harus diambil.

Misalnya, untuk mengambil kolom role (resource bertingkat) dari resource permissions, gunakan salah satu opsi berikut:

  • permissions.get dengan fields=role atau fields=*.
  • files.get dengan fields=permissions(role) atau fields=permissions/role.
  • files.get dengan fields=permissions untuk menyiratkan semua kolom resource bertingkat.
  • changes.list dengan fields=changes(file(permissions(role))).

Untuk mengambil beberapa kolom, gunakan daftar yang dipisahkan koma. Misalnya, files.list dengan fields=files(id,name,createdTime,modifiedTime,size).

Tampilkan contoh

Permintaan

Dalam contoh ini, kami menyediakan parameter jalur ID file dan beberapa kolom, termasuk kolom tertentu dari resource izin bertingkat, sebagai parameter kueri dalam permintaan. Respons akan menampilkan nilai kolom untuk ID file.

GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared,permissions(kind,type,role)

Respons

{
  "name": "File1",
  "starred": false,
  "shared": true,
  "permissions": [
    {
      "kind": "drive#permission",
      "type": "user",
      "role": "owner"
    }
  ]
}