Penulisan dasar

Google Slides API memungkinkan Anda menambahkan dan memodifikasi elemen pada halaman presentasi. Contoh di halaman ini menunjukkan cara melakukan operasi baca umum menggunakan metode presentations.batchUpdate.

Contoh ini menggunakan variabel berikut:

  • PRESENTATION_ID—Menunjukkan tempat Anda memberikan ID presentasi. Anda dapat menemukan nilai untuk ID ini dari URL presentasi.
  • PAGE_ID—Menunjukkan tempat Anda memberikan ID objek halaman. Anda dapat mengambil nilai ini dari URL atau dengan menggunakan permintaan baca API.
  • PAGE_ELEMENT_ID—Menunjukkan tempat Anda memberikan ID objek elemen halaman. Anda dapat menentukan ID ini untuk elemen yang Anda buat (dengan beberapa batasan) atau mengizinkan Slides API untuk membuatnya secara otomatis. ID elemen dapat diambil melalui permintaan baca API.

Contoh ini disajikan sebagai permintaan HTTP agar tidak terikat dengan bahasa. Untuk mempelajari cara mengimplementasikan update secara batch dalam bahasa yang berbeda menggunakan library klien Google API, lihat Menambahkan bentuk dan teks.

Menambahkan kotak teks ke slide

Contoh kode presentations.batchUpdate berikut menunjukkan cara menggunakan metode CreateShapeRequest untuk menambahkan kotak teks baru (berisi string "My Added Text Box") ke slide yang ditentukan oleh PAGE_ID. Dua permintaan ditentukan dalam isi permintaan—satu untuk membuat bentuk kotak teks (dengan ukuran dan lokasi tertentu) dan yang kedua untuk menyisipkan teks ke dalamnya.

Permintaan pertama menentukan ID objek yang akan digunakan untuk kotak teks. Hal ini memungkinkan permintaan kedua menggunakannya dalam panggilan API yang sama, sehingga mengurangi overhead.

Berikut adalah protokol permintaan untuk menambahkan kotak teks ke slide:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createShape": {
        "objectId": PAGE_ELEMENT_ID,
        "shapeType": "TEXT_BOX",
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 150,
              "unit": "PT"
            },
            "height": {
              "magnitude": 50,
              "unit": "PT"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 200,
            "translateY": 100,
            "unit": "PT"
          }
        }
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My Added Text Box",
        "insertionIndex": 0
      }
    }
  ]
}

Menambahkan gambar ke slide

Contoh kode presentations.batchUpdate berikut menunjukkan cara menggunakan metode CreateImageRequest untuk menambahkan gambar ke slide yang ditentukan oleh PAGE_ID. API akan mengambil gambar menggunakan IMAGE_URL. Permintaan ini juga menskalakan dan memosisikan gambar di slide.

Berikut adalah protokol permintaan untuk menambahkan gambar ke slide:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createImage": {
        "url": IMAGE_URL,
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 30,
              "unit": "PT"
            },
            "height": {
              "magnitude": 30,
              "unit": "PT"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 200,
            "translateY": 100,
            "unit": "PT"
          }
        }
      }
    }
  ]
}

Menghapus halaman atau elemen halaman

Contoh kode presentations.batchUpdate berikut menunjukkan cara menggunakan metode DeleteObjectRequest untuk menghapus elemen halaman yang ditentukan oleh PAGE_ELEMENT_ID dan slide yang ditentukan oleh PAGE_ID menggunakan dua permintaan terpisah.

Berikut adalah protokol permintaan untuk menghapus halaman atau elemen halaman:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteObject": {
        "objectId": PAGE_ELEMENT_ID
      },
      "deleteObject": {
        "objectId":  PAGE_ID
      }
    }
  ]
}

Mengedit teks dalam bentuk yang ditentukan

Contoh kode presentations.batchUpdate berikut menunjukkan cara menggunakan metode DeleteTextRequest untuk mengganti sebagian teks yang ada dalam bentuk yang ditentukan oleh PAGE_ELEMENT_ID. Untuk melakukannya, hapus teks terlebih dahulu menggunakan startIndex berbasis nol, lalu masukkan teks baru di posisi tersebut. Dalam contoh ini, string teks asli "My Shape Text: ??" diganti dengan "My Shape Text: Trapezoid".

Permintaan ini hanya memengaruhi teks dalam bentuk yang ditentukan. Untuk mengganti teks di mana saja dalam presentasi, gunakan metode ReplaceAllTextRequest.

Berikut adalah protokol permintaan untuk mengedit teks dalam bentuk yang ditentukan:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteText": {
        "objectId": PAGE_ELEMENT_ID,
        "textRange": {
          "type": "FROM_START_INDEX",
          "startIndex": 15
        }
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "Trapezoid",
        "insertionIndex": 15
      }
    }
  ]
}

Mengganti tag bentuk dengan gambar

Tag adalah kotak teks atau bentuk dengan nama string unik, seperti "nama-pemilik-akun".

Contoh kode presentations.batchUpdate berikut menunjukkan cara menggunakan metode CreateImageRequest untuk mengganti satu instance tag bentuk dengan gambar, mempertahankan posisi yang sama dan menskalakannya agar sesuai dengan ukuran tag sekaligus mempertahankan rasio aspek gambar.

Permintaan juga dapat digunakan untuk mengganti satu gambar dengan gambar lain. Permintaan terdiri dari menambahkan gambar baru, lalu menghapus tag.

Metode CreateImageRequest hanya mengganti bentuk yang ditentukan. Untuk mengganti bentuk tag di mana saja dalam presentasi, gunakan metode ReplaceAllShapesWithImageRequest.

Tag bentuk memiliki properti PageElement berikut (yang dapat ditemukan menggunakan permintaan presentations.pages.get):

{
  "objectId": PAGE_ELEMENT_ID,
  "size": {
    "width": {
      "magnitude": 3000000,
      "unit": "EMU"
    },
    "height": {
      "magnitude": 3000000,
      "unit": "EMU"
    }
  },
  "transform": {
    "scaleX": 1.13,
    "scaleY": 0.62,
    "translateX": 4800000,
    "translateY":  450000,
    "unit": "EMU"
  },
  "shape": {
    "shapeType": "RECTANGLE"
  }
}

Bentuk ini berada di slide yang ditentukan oleh PAGE_ID. Untuk menentukan gambar yang menggantikan bentuk, API mengambil gambar menggunakan IMAGE_URL. Untuk mempertahankan rasio aspek gambar sekaligus membatasinya pada ukuran tag, metode CreateImageRequest menyetel ukuran gambar ke hasil kali ukuran dan skala tag, serta faktor skala gambar ke 1. Untuk mengetahui informasi selengkapnya, lihat Mempertahankan rasio lebar.

Berikut adalah protokol permintaan untuk mengganti tag bentuk dengan gambar:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createImage": {
        "url": IMAGE_URL,
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 3000000 * 1.13,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000 * 0.62,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 4800000,
            "translateY": 450000,
            "unit": "PT"
          }
        }
      }
    },
    {
      "deleteObject": {
        "objectId": PAGE_ELEMENT_ID
      }
    }
  ]
}