Mask kolom adalah cara bagi pemanggil API untuk mencantumkan kolom yang harus ditampilkan atau diperbarui oleh permintaan. Penggunaan FieldMask memungkinkan API menghindari pekerjaan yang tidak perlu dan meningkatkan performa. Mask kolom digunakan untuk metode baca dan update di Google Slides API.
Membaca dengan mask kolom
Presentasi bisa berukuran besar, dan sering kali Anda tidak memerlukan setiap bagian dari resource
Presentation
yang ditampilkan oleh permintaan baca. Anda dapat membatasi apa yang ditampilkan dalam respons Slides API, menggunakan parameter URL fields
. Untuk mendapatkan performa terbaik, cantumkan secara eksplisit hanya kolom yang Anda butuhkan dalam balasan.
Format parameter kolom sama dengan encoding JSON FieldMask. Secara singkat, beberapa kolom yang berbeda dipisahkan dengan koma dan subkolom dipisahkan dengan titik. Nama kolom dapat ditentukan dalam format camelCase atau separated_by_underscores. Untuk memudahkan, beberapa subkolom dari jenis yang sama dapat dicantumkan dalam tanda kurung.
Contoh permintaan presentations.get
berikut menggunakan mask kolom
slides.pageElements(objectId,size,transform)
untuk hanya mengambil ID objek,
Size
, dan
transformasi
objek pageElement
di semua slide dalam presentasi:
GET https://slides.googleapis.com/v1/presentations/presentationId?fields=slides.pageElements(objectId,size,transform)
Respons terhadap panggilan metode ini adalah
objek Presentation
yang berisi komponen yang diminta dalam mask kolom:
{ "slides": [ { "pageElements": [ { "objectId": "OBJECT_ID
", "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 1, "scaleY": 1 "translateX": 311708, "translateY": 744575, "unit": "EMU" } }, { "objectId": "OBJECT_ID
", "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 1, "scaleY": 1 "translateX": 311700, "translateY": 2834125, "unit": "EMU" } } ] } ] }
Memperbarui dengan mask kolom
Terkadang, Anda hanya perlu memperbarui kolom tertentu dalam sebuah objek dan tidak mengubah kolom lainnya. Permintaan update di dalam operasi presentations.batchUpdate
menggunakan mask kolom untuk memberi tahu API kolom mana yang diubah. Permintaan update mengabaikan kolom apa pun yang tidak ditentukan dalam mask kolom, sehingga kolom tersebut tetap memiliki nilainya saat ini.
Anda juga dapat membatalkan penetapan kolom dengan tidak menentukannya pada pesan yang diperbarui, tetapi menambahkan kolom ke mask. Ini akan menghapus nilai apa pun yang ada di {i>field <i}sebelumnya.
Sintaksis untuk mask kolom update sama dengan mask kolom baca.
Contoh berikut menggunakan
UpdateShapePropertiesRequest
untuk mengubah isian warna bentuk menjadi warna tema DARK1
dan membatalkan penetapan garis
bentuk:
POST https://slides.googleapis.com/v1/presentations/presentationId:batchUpdate
{
"requests": [
{
"updateShapeProperties": {
"objectId": OBJECT_ID
,
"shapeProperties": {
"shapeBackgroundFill": {
"solidFill": {
"color": {
"themeColor": "DARK1"
}
}
}
},
"fields": "shapeBackgroundFill.solidFill.color,outline"
}
}
]
}