Google Slides API cho phép bạn tạo, di chuyển và xoá trang trình bày. Các ví dụ trên
trang này cho thấy một số thao tác phổ biến trên trang trình bày bằng phương thức
presentations.batchUpdate.
Các ví dụ này sử dụng các biến sau:
- PRESENTATION_ID – Cho biết vị trí bạn cung cấp mã trang trình bày. Bạn có thể khám phá giá trị cho mã này từ URL trang trình bày.
- PAGE_ID và PAGE_ID2 – Cho biết vị trí bạn cung cấp mã đối tượng trang. Bạn có thể truy xuất giá trị cho mã này từ URL hoặc bằng cách sử dụng yêu cầu đọc API.
Các ví dụ này được trình bày dưới dạng yêu cầu HTTP để không phụ thuộc vào ngôn ngữ. Để tìm hiểu cách triển khai cập nhật theo lô bằng nhiều ngôn ngữ bằng thư viện ứng dụng API của Google, hãy xem các hướng dẫn sau: Tạo trang trình bày và Thêm hình dạng và văn bản.
Sao chép trang trình bày
Mã mẫu
presentations.batchUpdate
sau đây cho biết cách sử dụng phương thức
DuplicateObjectRequest
để sao chép một trang trình bày và chèn trang đó sau trang gốc trong trang trình bày.
Trang trình bày gốc được chỉ định bằng PAGE_ID.
Yêu cầu này cho phép bạn chỉ định xem một số hoặc tất cả mã phần tử trang có nên nằm trong bản sao hay không (với một số hạn chế). Trong ví dụ này, trang trình bày gốc chứa một phần tử bảng (được chỉ định bằng the TABLE_ELEMENT_ID), được ánh xạ đến một bảng mới (được chỉ định bằng the COPY_TABLE_ELEMENT_ID) trong bản sao trang trình bày (được chỉ định bằng the COPY_PAGE_ID). Tất cả các phần tử khác trên bản sao đều được cấp mã ngẫu nhiên.
Để biết thêm thông tin về cách sao chép a
PageElement,
bao gồm hộp văn bản, hình ảnh, bảng, hình dạng cơ bản, đường thẳng và video được nhúng,
hãy xem mẫu Sao chép và chỉnh sửa an
phần tử.
Sau đây là giao thức yêu cầu để sao chép trang trình bày:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"duplicateObject": {
"objectId": PAGE_ID,
"objectIds": {
"PAGE_ID": "COPY_PAGE_ID",
"TABLE_ELEMENT_ID": "COPY_TABLE_ELEMENT_ID"
}
}
}
]
}Tạo trang trình bày
Mã mẫu
presentations.batchUpdate
sau đây cho biết cách sử dụng phương thức
CreateSlideRequest
để tạo một trang trình bày và chèn trang đó làm trang trình bày thứ tư (sử dụng
insertionIndex) trong trang trình bày.
Trang trình bày mới được thiết lập để sử dụng
PredefinedLayout
của TITLE_AND_TWO_COLUMNS. Bạn có thể chỉ định một chuỗi để sử dụng làm
PAGE_ID cho trang trình bày (với một số
hạn chế),
hoặc cho phép API tạo PAGE_ID bằng cách bỏ qua trường
trong yêu cầu.
Sau đây là giao thức yêu cầu để tạo trang trình bày:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createSlide": {
"objectId": "PAGE_ID",
"insertionIndex": 3,
"slideLayoutReference": {
"predefinedLayout": "TITLE_AND_TWO_COLUMNS"
}
}
}
]
}Tạo trang trình bày và sửa đổi trình giữ chỗ
Mã mẫu
presentations.batchUpdate
sau đây cho biết cách sử dụng phương thức
CreateSlideRequest
để tạo một trang trình bày bằng
PredefinedLayout
của TITLE_AND_TWO_COLUMNS.
Bạn có thể chỉ định một chuỗi để sử dụng làm PAGE_ID cho trang trình bày
(với một số
hạn chế).
placeholderIdMappings
sử dụng
Type của
TITLE. TITLE_ID tham chiếu đến hình dạng trình giữ chỗ của trang trình bày
để có thể sửa đổi.
Sau đây là giao thức yêu cầu để tạo trang trình bày và sửa đổi trình giữ chỗ:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createSlide": { "objectId": PAGE_ID, "slideLayoutReference": { "predefinedLayout": "TITLE_AND_TWO_COLUMNS" }, "placeholderIdMappings": [ { "layoutPlaceholder": { "type": "TITLE", "index": 0 }, "objectId": TITLE_ID, }, ], } }, { "insertText": { "objectId": TITLE_ID, "text": "This is my slide title", } }, ] }
Di chuyển trang trình bày đến vị trí mới
Mã mẫu sau đây
presentations.batchUpdate
cho biết cách sử dụng phương thức
UpdateSlidesPositionRequest
để lấy 2 trang trình bày đã chỉ định và di chuyển chúng đến đầu
trang trình bày, duy trì thứ tự tương đối của chúng.
Bạn phải cung cấp mã trang trình bày đã chỉ định (PAGE_ID và PAGE_ID2)
theo thứ tự hiện có của trang trình bày, không có bản sao. insertionIndex dựa trên 0 biểu thị vị trí cần chèn trang trình bày, dựa trên thứ tự trước khi di chuyển. Giá trị phải nằm trong khoảng từ 0 đến số trang trình bày trong trang trình bày, bao gồm cả 2 giá trị này.
Sau đây là giao thức yêu cầu để di chuyển trang trình bày đến vị trí mới:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"updateSlidesPosition": {
"slideObjectIds": [
PAGE_ID,
PAGE_ID2
],
"insertionIndex": 0
}
}
]
}Đặt hình nền cho trang trình bày
Mã mẫu sau đây
presentations.batchUpdate
cho biết cách sử dụng phương thức
UpdatePagePropertiesRequest
để đặt hình nền của một trang trình bày do
PAGE_IDchỉ định. API truy xuất hình ảnh bằng
IMAGE_URL.
Mặt nạ trường được dùng để chỉ định rằng chỉ nên thay đổi hình nền của trang trình bày để giữ nguyên các thuộc tính khác. Việc sử dụng mặt nạ trường cũng giúp cải thiện hiệu suất.
Ngoài ra, bạn có thể sử dụng phương thức UpdatePagePropertiesRequest để đặt nền của trang trình bày thành màu đồng nhất.
Sau đây là giao thức yêu cầu để đặt hình nền cho trang trình bày:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"updatePageProperties": {
"objectId": PAGE_ID,
"pageProperties": {
"pageBackgroundFill": {
"stretchedPictureFill": {
"contentUrl": IMAGE_URL
}
}
},
"fields": "pageBackgroundFill"
}
}
]
}Tạo hình thu nhỏ
Bạn có thể tạo hình thu nhỏ của phiên bản mới nhất của một trang cụ thể trong
trang trình bày bằng cách gọi
presentations.pages.getThumbnail
phương thức. Phương thức này trả về hình ảnh thu nhỏ của trang dưới dạng URL nội dung. URL hình ảnh có thời gian tồn tại mặc định là 30 phút.
Bạn cũng có thể chỉ định mimeType và thumbnailSize được trả về bằng cách sử dụng trường
ThumbnailProperties
làm tham số truy vấn.
Sau đây là giao thức yêu cầu để tạo hình thu nhỏ của trang với bộ ThumbnailProperties:
GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID/thumbnail?thumbnailProperties.mimeType=PNG&thumbnailProperties.thumbnailSize=MEDIUM
{
"width": 800,
"height": 450,
"contentUrl": "CONTENT_URL"
}