Операции со слайдами

API Google Slides позволяет создавать, перемещать и удалять слайды. Примеры на этой странице демонстрируют некоторые распространённые операции со слайдами с использованием метода presentations.batchUpdate .

В этих примерах используются следующие переменные:

Эти примеры представлены в виде 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"
}
,

API Google Slides позволяет создавать, перемещать и удалять слайды. Примеры на этой странице демонстрируют некоторые распространённые операции со слайдами с использованием метода presentations.batchUpdate .

В этих примерах используются следующие переменные:

Эти примеры представлены в виде 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"
}