A API Google Slides permite criar, mover e excluir slides. Os exemplos desta
página mostram algumas operações comuns de slides usando o
método
presentations.batchUpdate
.
Estes exemplos usam as seguintes variáveis:
- PRESENTATION_ID: indica onde você fornece o ID da apresentação. Você pode descobrir o valor desse ID no URL da apresentação.
- PAGE_ID e PAGE_ID2: indicam onde você fornece os IDs de objeto de página. Você pode extrair o valor dessa variável no URL ou usando uma solicitação de leitura da API.
Esses exemplos são apresentados como solicitações HTTP para serem neutros em termos de linguagem. Para saber como implementar uma atualização em lote em diferentes idiomas usando as bibliotecas de cliente da API Google, consulte os seguintes guias: Criar um slide e Adicionar formas e texto.
Copiar um slide
O exemplo de código
presentations.batchUpdate
abaixo mostra como usar o método
DuplicateObjectRequest
para copiar um slide e inseri-lo após o original na apresentação.
O slide original é especificado por PAGE_ID.
A solicitação permite especificar se alguns ou todos os IDs de elemento de página precisam estar na cópia (com algumas restrições). Neste exemplo, o slide original contém um elemento de tabela (especificado por TABLE_ELEMENT_ID), que é mapeado para uma nova tabela (especificada por COPY_TABLE_ELEMENT_ID) na cópia do slide (especificada por COPY_PAGE_ID). Todos os outros elementos na cópia recebem IDs aleatórios.
Para mais informações sobre como copiar um
PageElement
,
incluindo caixas de texto, imagens, tabelas, formas básicas, linhas e vídeos incorporados,
consulte o exemplo Copiar e editar um
elemento.
Confira a seguir o protocolo de solicitação para copiar um slide:
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" } } } ] }
Criar um slide
O exemplo de código
presentations.batchUpdate
a seguir mostra como usar o método
CreateSlideRequest
para criar um slide e inseri-lo como o quarto slide (usando o
insertionIndex
baseado em zero) na apresentação.
O novo slide é configurado para usar o
PredefinedLayout
de TITLE_AND_TWO_COLUMNS
. Você pode especificar uma string para usar como o
PAGE_ID do slide (com algumas
restrições),
ou permitir que a API gere o PAGE_ID omitindo o campo
na solicitação.
Confira a seguir o protocolo de solicitação para criar um slide:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createSlide": { "objectId": "PAGE_ID", "insertionIndex": 3, "slideLayoutReference": { "predefinedLayout": "TITLE_AND_TWO_COLUMNS" } } } ] }
Criar um slide e modificar marcadores de posição
O exemplo de código
presentations.batchUpdate
abaixo mostra como usar o método
CreateSlideRequest
para criar um slide usando o
PredefinedLayout
de TITLE_AND_TWO_COLUMNS
.
Você pode especificar uma string para usar como PAGE_ID do slide
(com algumas
restrições).
O
placeholderIdMappings
usa o
Type
de
TITLE
. O TITLE_ID faz referência à forma do marcador de posição do slide
para que ela possa ser modificada.
Confira a seguir o protocolo de solicitação para criar um slide e modificar marcadores de posição:
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", } }, ] }
Mover slides para outra posição
O exemplo de código
presentations.batchUpdate
abaixo mostra como usar o método
UpdateSlidesPositionRequest
para mover os dois slides especificados para o início da
apresentação, mantendo a ordem relativa.
Os IDs de slide especificados (PAGE_ID e PAGE_ID2)
precisam ser fornecidos na ordem atual da apresentação, sem duplicidade. O
insertionIndex
baseado em zero indica onde os slides precisam ser inseridos, com base
na ordem antes da mudança. O valor precisa estar entre zero e o
número de slides na apresentação.
Confira a seguir o protocolo de solicitação para mover slides para uma nova posição:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateSlidesPosition": { "slideObjectIds": [ PAGE_ID, PAGE_ID2 ], "insertionIndex": 0 } } ] }
Definir uma imagem de plano de fundo para um slide
O exemplo de código
presentations.batchUpdate
abaixo mostra como usar o método
UpdatePagePropertiesRequest
para definir a imagem de plano de fundo de um slide especificado pelo
PAGE_ID. A API recupera a imagem usando o
IMAGE_URL.
Uma máscara de campo é usada para especificar que apenas o plano de fundo do slide precisa ser alterado para preservar as outras propriedades. Usar máscaras de campo também melhora o desempenho.
Como alternativa, um método UpdatePagePropertiesRequest
pode ser usado para definir o
plano de fundo de um slide com uma cor sólida.
Confira abaixo o protocolo de solicitação para definir uma imagem de plano de fundo do slide:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageProperties": { "objectId": PAGE_ID, "pageProperties": { "pageBackgroundFill": { "stretchedPictureFill": { "contentUrl": IMAGE_URL } } }, "fields": "pageBackgroundFill" } } ] }
Gerar miniatura
É possível gerar uma miniatura da versão mais recente de uma página específica na
apresentação chamando o método
presentations.pages.getThumbnail
, que retorna uma imagem em miniatura da página como um URL de conteúdo. O URL
da imagem tem uma duração padrão de 30 minutos.
Também é possível especificar o mimeType
e o thumbnailSize
retornados usando o campo
ThumbnailProperties
como um parâmetro de consulta.
Confira abaixo o protocolo de solicitação para gerar a miniatura da página com o
ThumbnailProperties
definido:
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" }