Operasi elemen

Google Slides API memungkinkan Anda membuat dan mengedit a PageElement resource, termasuk kotak teks, gambar, tabel, bentuk dasar, garis, dan video yang disematkan. Contoh di halaman ini menunjukkan beberapa operasi elemen halaman umum menggunakan metode.presentations.batchUpdate

Contoh ini menggunakan variabel berikut:

  • PRESENTATION_ID—Menunjukkan tempat Anda memberikan ID presentasi. Anda dapat mengambil nilai untuk ID ini dari URL presentasi.
  • PAGE_ID—Menunjukkan tempat Anda memberikan ID objek halaman. Anda dapat mengambil nilai untuk ID ini dari URL atau 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 membuat ID secara otomatis. ID elemen dapat diambil melalui permintaan baca API.

Contoh ini ditampilkan sebagai permintaan HTTP agar netral terhadap bahasa. Untuk mempelajari cara menerapkan pembaruan batch dalam berbagai bahasa menggunakan library klien Google API, lihat panduan berikut:

Menambahkan daftar berbutir ke kotak teks

Contoh kode berikut menunjukkan cara menggunakan metode untuk menyisipkan teks ke dalam kotak teks kosong yang ditentukan oleh PAGE_ELEMENT_ID.presentations.batchUpdateInsertTextRequest Contoh ini kemudian menggunakan metode CreateParagraphBulletsRequest untuk mengonversi semua teks kotak teks menjadi daftar berbutir. Item dalam daftar dipisahkan oleh karakter \n, sedangkan indentasi dikontrol dengan karakter \t.

Berikut adalah protokol permintaan untuk membuat presentasi:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My List\n\tItem 1\n\t\tItem 2\n\t\t\tItem 3",
        "insertionIndex": 0
      },
      "createParagraphBullets": {
        "objectId": PAGE_ELEMENT_ID,
        "bulletPreset": "BULLET_ARROW_DIAMOND_DISC",
        "textRange": {
          "type": "ALL"
        }
      }
    }
  ]
}

Permintaan ini dapat membuat daftar berbutir yang terlihat seperti ini:

Hasil resep daftar berbutir.

Menambahkan bentuk ke slide

Contoh kode berikut presentations.batchUpdate menunjukkan cara menggunakan metode CreateShapeRequest untuk menambahkan bentuk gelombang ke slide yang ditentukan oleh PAGE_ID. Permintaan ini menentukan jenis bentuk, lalu menskalakan dan memosisikan bentuk di slide. Kemudian, permintaan ini menggunakan metode untuk menambahkan teks ke bentuk tersebut.InsertTextRequest Permintaan ini menetapkan ID garis ke PAGE_ELEMENT_ID.

Berikut adalah protokol permintaan untuk menambahkan bentuk ke slide:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createShape": {
        "objectId": PAGE_ELEMENT_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 3000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 0.6807,
            "scaleY": 0.4585,
            "translateX": 6583050,
            "translateY": 1673950,
            "unit": "EMU"
          }
        },
        "shapeType": "WAVE"
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My Wave Shape",
        "insertionIndex": 0
      }
    }
  ]
}

Menambahkan video ke slide

Contoh kode berikut presentations.batchUpdate menunjukkan cara menggunakan metode CreateVideoRequest untuk menyematkan video ke slide yang ditentukan oleh PAGE_ID. Permintaan ini menskalakan dan memosisikan video di slide, serta menetapkan ID video ke PAGE_ELEMENT_ID. ID unik video sumber ditetapkan ke VIDEO_ID. Misalnya, video YouTube di https://www.youtube.com/watch?v=7U3axjORYZ0 memiliki ID 7U3axjORYZ0.

Berikut adalah protokol permintaan untuk menambahkan video ke slide:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createVideo": {
        "objectId": PAGE_ELEMENT_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 12000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 9000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 381,
            "scaleY": 381,
            "translateX": 152400,
            "translateY": 152400,
            "unit": "EMU"
          }
        },
        "source": "YOUTUBE",
        "id": VIDEO_ID
      }
    }
  ]
}

Menyalin dan mengedit elemen

Contoh kode berikut menunjukkan cara menggunakan metode untuk mengambil bentuk yang ada (ditentukan oleh) dan membuat salinan (ditentukan oleh).presentations.batchUpdateDuplicateObjectRequestPAGE_ELEMENT_IDCOPY_ELEMENT_ID

Permintaan berikutnya kemudian membuat perubahan berikut pada objek duplikat:

  • Menetapkan warna latar belakang ke warna tema LIGHT2.
  • Memindahkan salinan ke bawah halaman (dari posisi bentuk asli).
  • Menetapkan font teks ke Georgia 18 pt.
  • Mengedit teks agar berbunyi "Salinan Bentuk Saya".

Permintaan di sini menggunakan mask kolom untuk mempertahankan properti bentuk yang tidak diubah (seperti gaya garis luar). Penggunaan mask kolom juga meningkatkan performa.

Untuk mengetahui informasi selengkapnya tentang cara menyalin slide, lihat contoh Menyalin slide.

Berikut adalah protokol permintaan untuk menyalin dan mengedit elemen:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "duplicateObject": {
        "objectId": PAGE_ELEMENT_ID,
        "objectIds": {
          PAGE_ELEMENT_ID: COPY_ELEMENT_ID
        }
      }
    },
    {
      "updateShapeProperties": {
        "objectId": COPY_ELEMENT_ID,
        "fields": "shapeBackgroundFill.solidFill.color",
        "shapeProperties": {
          "shapeBackgroundFill": {
            "solidFill": {
              "color": {
                "themeColor": "LIGHT2"
              }
            }
          }
        }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": COPY_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
          "scaleX": 1,
          "scaleY": 1,
          "translateX": 0,
          "translateY": 1250000,
          "unit": "EMU"
        }
      }
    },
    {
      "updateTextStyle": {
        "objectId": COPY_ELEMENT_ID,
        "fields": "fontFamily,fontSize",
        "textRange": {
          "type": "ALL"
        },
        "style": {
          "fontFamily": "Georgia",
          "fontSize": {
            "magnitude": 18,
            "unit": "PT"
          }
        }
      }
    },
    {
      "deleteText": {
        "objectId": COPY_ELEMENT_ID,
        "textRange": {
          "type": "ALL"
        }
      }
    },
    {
      "insertText": {
        "objectId": COPY_ELEMENT_ID,
        "text": "My Shape Copy",
        "insertionIndex": 0
      }
    }
  ]
}

Berikut tampilan bentuk dan salinannya setelah pembaruan ini:

Menyalin dan mengedit hasil resep elemen.

Mengedit garis luar gambar atau video

Contoh kode berikut menunjukkan cara menggunakan metode untuk memperbarui tampilan garis luar gambar yang ditentukan oleh IMAGE_ELEMENT_ID.presentations.batchUpdateUpdateImagePropertiesRequest Contoh ini juga menggunakan metode UpdateVideoPropertiesRequest untuk memperbarui tampilan garis luar video yang disematkan yang ditentukan oleh VIDEO_ELEMENT_ID.

Permintaan ini membuat perubahan berikut pada objek:

  • Menetapkan warna garis luar gambar ke warna tema ACCENT5 dengan transparansi sebagian.
  • Menetapkan warna garis luar video ke warna tema ACCENT1 tanpa transparansi.
  • Menetapkan ketebalan garis luar ke 3 pt untuk keduanya.
  • Menetapkan gaya garis luar gambar ke SOLID.
  • Menetapkan gaya garis luar video ke DASH_DOT.

Metode UpdateImagePropertiesRequest dan metode UpdateVideoPropertiesRequest hanya dapat mengubah tampilan garis luar gambar dan video. Semua properti lainnya bersifat hanya baca. Permintaan di sini menggunakan mask kolom untuk menentukan bahwa hanya garis luar yang boleh diubah guna melindungi kode dari perubahan API di masa mendatang. Penggunaan mask kolom juga meningkatkan performa.

Berikut adalah protokol permintaan untuk mengedit garis luar gambar atau video:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateImageProperties": {
        "objectId": IMAGE_ELEMENT_ID,
        "fields": "outline",
        "imageProperties": {
          "outline": {
            "dashStyle": "SOLID",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.8,
                "color": {
                  "themeColor": "ACCENT5"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    },
    {
      "updateVideoProperties": {
        "objectId": VIDEO_ELEMENT_ID,
        "fields": "outline",
        "videoProperties": {
          "outline": {
            "dashStyle": "DASH_DOT",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.8,
                "color": {
                  "themeColor": "ACCENT1"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    }
  ]
}

Berikut tampilan gambar dan video yang disematkan setelah pembaruan ini:

Resep kerangka gambar dan video
result.

Mengedit garis luar bentuk

Contoh kode berikut presentations.batchUpdate menunjukkan cara menggunakan metode UpdateShapePropertiesRequest untuk mengambil bentuk yang ada (ditentukan oleh PAGE_ELEMENT_ID) dan memperbarui tampilan garis luarnya.

Permintaan ini membuat perubahan berikut pada objek:

  • Menetapkan warna garis luar ke warna tema ACCENT5 dengan transparansi sebagian.
  • Menetapkan ketebalan garis luar ke 3 pt.
  • Menetapkan gaya garis luar ke LONG_DASH.

Permintaan di sini menggunakan mask kolom untuk mempertahankan properti bentuk yang tidak diubah (seperti warna isi bentuk). Penggunaan mask kolom juga meningkatkan performa.

Berikut adalah protokol permintaan untuk mengedit garis luar bentuk:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateShapeProperties": {
        "objectId": PAGE_ELEMENT_ID,
        "fields": "outline",
        "shapeProperties": {
          "outline": {
            "dashStyle": "LONG_DASH",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.6,
                "color": {
                  "themeColor": "ACCENT5"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    }
  ]
}

Berikut tampilan bentuk setelah pembaruan ini:

Edit hasil resep kerangka.

Memformat teks dalam bentuk atau kotak teks

Contoh kode berikut presentations.batchUpdate menunjukkan cara menggunakan metode UpdateTextStyleRequest untuk mengambil bentuk yang ada (ditentukan oleh PAGE_ELEMENT_ID) dan memperbarui tampilan teksnya.

Permintaan ini membuat perubahan berikut pada objek:

  • Menetapkan warna teks ke warna tema ACCENT5.
  • Menetapkan font menjadi tebal, miring Corsiva 18 pt.
  • Memberi garis bawah pada teks.

Permintaan di sini menggunakan mask kolom untuk mempertahankan properti gaya teks yang tidak diubah (seperti warna latar belakang, link, atau offset baseline). Penggunaan mask kolom juga meningkatkan performa.

Berikut adalah protokol permintaan untuk memformat teks dalam bentuk atau kotak teks:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateTextStyle": {
        "objectId": PAGE_ELEMENT_ID,
        "fields": "foregroundColor,bold,italic,fontFamily,fontSize,underline",
        "style": {
          "foregroundColor": {
            "opaqueColor": {
              "themeColor": "ACCENT5"
            }
          },
          "bold": true,
          "italic": true,
          "underline": true,
          "fontFamily": "Corsiva",
          "fontSize": {
            "magnitude": 18,
            "unit": "PT"
          }
        },
        "textRange": {
          "type": "ALL"
        }
      }
    }
  ]
}

Berikut tampilan teks bentuk setelah pembaruan ini:

Edit resep format teks
result.

Mengimpor diagram dari Google Spreadsheet

Contoh kode berikut presentations.batchUpdate menunjukkan cara menggunakan metode CreateSheetsChartRequest untuk mengimpor diagram dari spreadsheet dan menempatkannya di slide yang ditentukan oleh PAGE_ID.

Permintaan ini memerlukan ID spreadsheet (ditentukan oleh SPREADSHEET_ID) dan ID diagram spreadsheet (ditentukan oleh SPREADSHEET_CHART_ID). ID diagram dalam presentasi Slides ditentukan oleh PRESENTATION_CHART_ID.

Permintaan ini juga menetapkan LinkingMode diagram Slides ke LINKED sehingga Anda dapat memperbarui diagram yang disematkan jika diagram di spreadsheet sumber diperbarui.

Berikut adalah protokol permintaan untuk mengimpor diagram dari Spreadsheet:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createSheetsChart": {
        "objectId": PRESENTATION_CHART_ID,
        "spreadsheetId": SPREADSHEET_ID,
        "chartId": SPREADSHEET_CHART_ID,
        "linkingMode": "LINKED",
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 4000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 4000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 100000,
            "translateY": 100000,
            "unit": "EMU"
          }
      }
    }
  ]
}

Memuat ulang diagram dari Spreadsheet

Contoh kode berikut presentations.batchUpdate menunjukkan cara menggunakan metode RefreshSheetsChartRequest untuk memuat ulang diagram tertaut dalam presentasi, menggantinya dengan versi terbaru diagram tersebut dari spreadsheet sumber Spreadsheet. Permintaan ini memerlukan ID diagram dalam presentasi Slides (ditentukan oleh PRESENTATION_CHART_ID).

Berikut adalah protokol permintaan untuk memuat ulang diagram dari Spreadsheet:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "refreshSheetsChart": {
        "objectId": PRESENTATION_CHART_ID
      }
    }
  ]
}