API Google Slides позволяет добавлять и изменять элементы на страницах презентаций. Примеры на этой странице показывают, как выполнять распространенные операции чтения с помощью метода presentations.batchUpdate .
В этих примерах используются следующие переменные:
- PRESENTATION_ID — указывает, где вы указываете идентификатор презентации . Значение этого идентификатора можно узнать из URL-адреса презентации.
- PAGE_ID — указывает, где вы указываете идентификатор объекта страницы . Вы можете получить его значение из URL-адреса или с помощью запроса на чтение через API.
- PAGE_ELEMENT_ID — указывает, где вы указываете идентификатор объекта элемента страницы . Вы можете указать этот идентификатор для создаваемых вами элементов (с некоторыми ограничениями ) или разрешить API Slides автоматически создавать его. Идентификаторы элементов можно получить с помощью запроса на чтение API.
Эти примеры представлены в виде HTTP-запросов, чтобы обеспечить языковую нейтральность. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек Google API, см. раздел «Добавление фигур и текста» .
Добавить текстовое поле на слайд
Приведенный ниже пример кода presentations.batchUpdate демонстрирует, как использовать метод CreateShapeRequest для добавления нового текстового поля (содержащего строку "Мое добавленное текстовое поле") на слайд, указанный в PAGE_ID . В теле запроса указываются два запроса: один для создания фигуры текстового поля (с заданным размером и местоположением), а второй — для вставки в него текста.
Первый запрос указывает идентификатор объекта , который будет использоваться для текстового поля. Это позволяет второму запросу использовать его в том же вызове API, что снижает накладные расходы.
Ниже представлен протокол запроса для добавления текстового поля на слайд:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createShape": {
"objectId": PAGE_ELEMENT_ID,
"shapeType": "TEXT_BOX",
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 150,
"unit": "PT"
},
"height": {
"magnitude": 50,
"unit": "PT"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 200,
"translateY": 100,
"unit": "PT"
}
}
}
},
{
"insertText": {
"objectId": PAGE_ELEMENT_ID,
"text": "My Added Text Box",
"insertionIndex": 0
}
}
]
}Добавить изображение на слайд
Приведенный ниже пример кода presentations.batchUpdate демонстрирует, как использовать метод CreateImageRequest для добавления изображения на слайд, указанный в поле PAGE_ID . API получает изображение, используя IMAGE_URL . Этот запрос также масштабирует и позиционирует изображение на слайде.
Ниже представлен протокол запроса для добавления изображения на слайд:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createImage": {
"url": IMAGE_URL,
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 30,
"unit": "PT"
},
"height": {
"magnitude": 30,
"unit": "PT"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 200,
"translateY": 100,
"unit": "PT"
}
}
}
}
]
}Удалить страницу или элемент страницы
Приведенный ниже пример кода presentations.batchUpdate демонстрирует, как использовать метод DeleteObjectRequest для удаления элемента страницы, указанного параметром PAGE_ELEMENT_ID , и слайда, указанного параметром PAGE_ID с помощью двух отдельных запросов.
Ниже представлен протокол запроса на удаление страницы или элемента страницы:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"deleteObject": {
"objectId": PAGE_ELEMENT_ID
},
"deleteObject": {
"objectId": PAGE_ID
}
}
]
}Редактировать текст в указанной форме
The following presentations.batchUpdate code sample shows how to use the DeleteTextRequest method to replace a portion of the text present in the shape specified by PAGE_ELEMENT_ID . To accomplish this, first delete text using the zero-based startIndex and then insert new text in that position. In this example, the original text string "My Shape Text: ????" is replaced with "My Shape Text: Trapezoid".
Этот запрос затрагивает только текст в указанной фигуре. Чтобы заменить текст по всей презентации, используйте метод ReplaceAllTextRequest .
Ниже представлен протокол запроса на редактирование текста в указанной фигуре:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": PAGE_ELEMENT_ID, "textRange": { "type": "FROM_START_INDEX", "startIndex": 15 } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "Trapezoid", "insertionIndex": 15 } } ] }
Замените тег формы изображением.
Теги — это текстовые поля или фигуры с уникальным строковым именем, например, "account-holder-name".
Приведенный ниже пример кода presentations.batchUpdate демонстрирует, как использовать метод CreateImageRequest для замены одного экземпляра тега shape изображением, сохраняя при этом его положение и масштабируя его в соответствии с размером тега, сохраняя при этом соотношение сторон изображения.
Запрос также можно использовать для замены одного изображения другим. Запрос состоит в добавлении нового изображения, а затем удалении тега.
Метод CreateImageRequest заменяет только указанную фигуру. Чтобы заменить фигуры тегов во всей презентации, используйте метод ReplaceAllShapesWithImageRequest .
Тег shape имеет следующие свойства PageElement (которые можно получить с помощью запроса presentations.pages.get ):
{
"objectId": PAGE_ELEMENT_ID,
"size": {
"width": {
"magnitude": 3000000,
"unit": "EMU"
},
"height": {
"magnitude": 3000000,
"unit": "EMU"
}
},
"transform": {
"scaleX": 1.13,
"scaleY": 0.62,
"translateX": 4800000,
"translateY": 450000,
"unit": "EMU"
},
"shape": {
"shapeType": "RECTANGLE"
}
} The shape resides on the slide specified by PAGE_ID . To specify the image that replaces the shape, the API retrieves the image using the IMAGE_URL . To preserve the image aspect ratio while limiting it to the size of the tag, the CreateImageRequest method sets both the image size to the product of the tag size and scale, and the image scale factors to 1 . For more information, see Preserve aspect ratio .
Ниже представлен протокол запроса на замену тега shape изображением:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createImage": {
"url": IMAGE_URL,
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 3000000 * 1.13,
"unit": "EMU"
},
"height": {
"magnitude": 3000000 * 0.62,
"unit": "EMU"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 4800000,
"translateY": 450000,
"unit": "PT"
}
}
}
},
{
"deleteObject": {
"objectId": PAGE_ELEMENT_ID
}
}
]
}