Menggunakan mask kolom

Mask kolom adalah cara bagi pemanggil API untuk mencantumkan kolom yang harus ditampilkan atau diperbarui oleh permintaan. Dengan menggunakan FieldMask, API dapat 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 dapat berukuran besar, dan sering kali Anda tidak memerlukan setiap bagian 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 kolom yang Anda perlukan dalam balasan secara eksplisit.

Format parameter kolom sama dengan encoding JSON untuk FieldMask. Singkatnya, beberapa kolom yang berbeda dipisahkan dengan koma, sedangkan subkolomnya dipisahkan dengan titik. Nama kolom dapat ditentukan dalam 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 mentransformasi 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"
          }
        }
     ]
    }
  ]
}

Mengupdate dengan mask kolom

Terkadang, Anda hanya perlu memperbarui kolom tertentu dalam suatu objek tanpa mengubah kolom lain. 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 nilai saat ini tetap sama.

Anda juga dapat membatalkan penetapan kolom dengan tidak menentukannya dalam pesan yang diperbarui, tetapi menambahkan kolom ke mask. Ini akan menghapus nilai yang sebelumnya dimiliki kolom tersebut.

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 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"
      }
    }
  ]
}