The Google Slides API lets you create, move, and delete slides. The examples on this page show some common slide operations using the presentations.batchUpdate method.
В этих примерах используются следующие переменные:
- PRESENTATION_ID — указывает, где вы указываете идентификатор презентации . Значение этого идентификатора можно узнать из URL-адреса презентации.
- PAGE_ID и PAGE_ID2 — указывают, где вы предоставляете идентификаторы объектов страниц . Вы можете получить значение из URL-адреса или с помощью запроса на чтение через API.
Эти примеры представлены в виде HTTP-запросов, чтобы обеспечить языковую нейтральность. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек Google API, см. следующие руководства: Создание слайда и Добавление фигур и текста .
Скопировать слайд
Приведенный ниже пример кода presentations.batchUpdate демонстрирует, как использовать метод DuplicateObjectRequest для копирования слайда и вставки его после оригинала в презентацию. Оригинальный слайд указывается с помощью PAGE_ID .
The request lets you specify if some or all of the page element IDs should be in the copy (with some restrictions ). In this example, the original slide contains a table element (specified by the TABLE_ELEMENT_ID ), that's mapped to a new table (specified by the COPY_TABLE_ELEMENT_ID ) in the slide copy (specified by the COPY_PAGE_ID ). All other elements on the copy are given random IDs.
Для получения дополнительной информации о копировании PageElement , включая текстовые поля, изображения, таблицы, простые фигуры, линии и встроенные видеоролики, см. пример «Копирование и редактирование элемента» .
Ниже представлен протокол запроса на копирование слайда:
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"
}
}
}
]
}Создать слайд
Приведенный ниже пример кода presentations.batchUpdate демонстрирует, как использовать метод CreateSlideRequest для создания слайда и его вставки в качестве четвертого слайда (с использованием insertionIndex начинающегося с нуля) в презентацию.
Для нового слайда задан PredefinedLayout макет TITLE_AND_TWO_COLUMNS . Вы можете указать строку, которая будет использоваться в качестве PAGE_ID для слайда (с некоторыми ограничениями ), или разрешить API генерировать PAGE_ID , опустив это поле в запросе.
Ниже представлен протокол запроса для создания слайда:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createSlide": {
"objectId": "PAGE_ID",
"insertionIndex": 3,
"slideLayoutReference": {
"predefinedLayout": "TITLE_AND_TWO_COLUMNS"
}
}
}
]
}Создайте слайд и измените заполнители.
Приведенный ниже пример кода presentations.batchUpdate демонстрирует, как использовать метод CreateSlideRequest для создания слайда с использованием PredefinedLayout типа TITLE_AND_TWO_COLUMNS .
Вы можете указать строку, которая будет использоваться в качестве PAGE_ID для слайда (с некоторыми ограничениями ). Параметр placeholderIdMappings использует Type TITLE . TITLE_ID ссылается на форму-заполнитель слайда, чтобы ее можно было изменить.
Ниже представлен протокол запроса для создания слайда и изменения заполнителей:
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", } }, ] }
Переместить слайды в новое положение
Приведенный ниже пример кода presentations.batchUpdate демонстрирует, как использовать метод UpdateSlidesPositionRequest для перемещения двух указанных слайдов в начало презентации с сохранением их относительного порядка.
Указанные идентификаторы слайдов ( PAGE_ID и PAGE_ID2 ) должны быть указаны в существующем порядке презентации, без дубликатов. insertionIndex начинающийся с нуля, указывает, куда следует вставить слайды в зависимости от порядка до перемещения. Значение должно быть в диапазоне от нуля до количества слайдов в презентации включительно.
Ниже представлен протокол запроса на перемещение слайдов в новое положение:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"updateSlidesPosition": {
"slideObjectIds": [
PAGE_ID,
PAGE_ID2
],
"insertionIndex": 0
}
}
]
}Установить фоновое изображение слайда
Приведенный ниже пример кода presentations.batchUpdate демонстрирует, как использовать метод UpdatePagePropertiesRequest для установки фонового изображения слайда, указанного в PAGE_ID . API получает изображение, используя IMAGE_URL .
Маска поля используется для указания того, что изменять следует только фон слайда, сохраняя при этом остальные свойства. Использование масок поля также повышает производительность.
В качестве альтернативы, для установки сплошного цвета фона слайда можно использовать метод UpdatePagePropertiesRequest .
Ниже приведён протокол запроса для установки фонового изображения слайда:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"updatePageProperties": {
"objectId": PAGE_ID,
"pageProperties": {
"pageBackgroundFill": {
"stretchedPictureFill": {
"contentUrl": IMAGE_URL
}
}
},
"fields": "pageBackgroundFill"
}
}
]
}Создать миниатюру
Вы можете создать миниатюру последней версии определенной страницы в презентации, вызвав метод presentations.pages.getThumbnail , который возвращает миниатюрное изображение страницы в виде URL-адреса содержимого. Срок действия URL-адреса изображения по умолчанию составляет 30 минут.
Также можно указать возвращаемые значения mimeType и thumbnailSize , используя поле ThumbnailProperties в качестве параметра запроса.
Ниже представлен протокол запроса для генерации миниатюры страницы с заданными параметрами 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"
}