Penulisan dasar

Google Slides API memungkinkan Anda menambahkan dan mengubah elemen pada halaman presentasi. Tujuan contoh di halaman ini menunjukkan cara melakukan operasi baca umum menggunakan presentations.batchUpdate .

Contoh ini menggunakan variabel berikut:

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

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

Menambahkan kotak teks ke slide

Hal berikut presentations.batchUpdate contoh kode menunjukkan cara menggunakan CreateShapeRequest untuk menambahkan kotak teks baru (berisi string "My Add Text Box") ke slide yang ditetapkan oleh PAGE_ID. Dua permintaan ditentukan dalam isi permintaan—satu untuk membuat bentuk kotak teks (dengan ukuran tertentu lokasi) dan detik untuk memasukkan teks ke dalamnya.

Permintaan pertama menentukan objek ID 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

Hal berikut presentations.batchUpdate contoh kode menunjukkan cara menggunakan CreateImageRequest untuk menambahkan gambar ke slide yang ditentukan oleh PAGE_ID. Tujuan API 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

Hal berikut presentations.batchUpdate contoh kode menunjukkan cara menggunakan DeleteObjectRequest metode 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 tertentu

Hal berikut presentations.batchUpdate contoh kode menunjukkan cara menggunakan DeleteTextRequest untuk mengganti sebagian teks yang ada dalam bentuk yang ditetapkan oleh PAGE_ELEMENT_ID. Untuk melakukannya, pertama tama hapus teks menggunakan startIndex berbasis nol, lalu sisipkan teks baru di posisi tersebut. Di sini contoh, {i>string <i}teks asli "My Shape Text: ????" diganti dengan "My Teks Bentuk: Trapesium".

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

Berikut adalah protokol permintaan untuk mengedit teks dalam bentuk tertentu:

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

{i>Tag<i} adalah kotak teks atau bentuk dengan nama {i>string<i} yang unik, seperti "nama-pemegang-akun".

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

Permintaan ini juga dapat digunakan untuk mengganti satu gambar dengan gambar lainnya. Permintaan terdiri dari penambahan gambar baru, lalu menghapus tag.

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

Tag bentuk memiliki PageElement (yang dapat ditemukan menggunakan 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 atribut IMAGE_URL. Untuk mempertahankan rasio aspek gambar sekaligus membatasinya ukuran tag, CreateImageRequest menyetel ukuran gambar ke produk ukuran dan skala tag, serta faktor skala gambar menjadi 1. Untuk informasi selengkapnya, lihat Mempertahankan aspek rasio aspek.

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