API Google Slides позволяет создавать, перемещать и удалять слайды. Примеры на этой странице демонстрируют некоторые распространённые операции со слайдами с использованием метода presentations.batchUpdate .
В этих примерах используются следующие переменные:
- PRESENTATION_ID — указывает, где вы указываете идентификатор презентации . Значение этого идентификатора можно узнать из URL-адреса презентации.
- PAGE_ID и PAGE_ID2 — указывают, где вы предоставляете идентификаторы объектов страницы . Вы можете получить это значение из URL-адреса или с помощью запроса на чтение API.
Эти примеры представлены в виде HTTP-запросов, чтобы не зависеть от языка. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек API Google, см. следующие руководства: Создание слайда и Добавление фигур и текста .
Копировать слайд
В следующем примере кода presentations.batchUpdate показано, как использовать метод DuplicateObjectRequest для копирования слайда и вставки его после оригинала в презентацию. Исходный слайд указан с помощью PAGE_ID .
Запрос позволяет указать, должны ли некоторые или все идентификаторы элементов страницы присутствовать в копии (с некоторыми ограничениями ). В этом примере исходный слайд содержит элемент таблицы (указанный параметром TABLE_ELEMENT_ID ), который сопоставлен с новой таблицей (указанной параметром COPY_TABLE_ELEMENT_ID ) в копии слайда (указанной параметром COPY_PAGE_ID ). Всем остальным элементам копии присваиваются случайные идентификаторы.
Дополнительную информацию о копировании 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"
}