Introdução

A API Google Slides permite criar e modificar apresentações do Apresentações Google.

Os apps podem ser integrados à Google Slides API para criar automaticamente belos conjuntos de slides com dados fornecidos pelo sistema e pelo usuário. Por exemplo, você pode usar detalhes de um cliente de um banco de dados e combiná-los com modelos pré-projetados e opções de configuração selecionadas para criar apresentações finais em muito menos tempo do que se criasse tudo manualmente.

Visão geral da API

A coleção apresentações fornece métodos que permitem acessar e atualizar elementos na apresentação.

Provavelmente, a maior parte do trabalho com a Slides API será a criação e a atualização de apresentações. Você pode fazer isso usando o método batchUpdate. Esse método recebe uma lista de objetos Request que permitem fazer o seguinte:

  • Criar slides
  • Adicionar elementos aos slides, como formas ou tabelas
  • Inserir, mudar e remover texto
  • Aplicar transformações a elementos
  • Mudar a ordem dos slides

Consulte Atualizações em lote para mais detalhes. Consulte os guias de Primeiros passos para conferir um exemplo simples de ponta a ponta sobre como usar a API.

A estrutura de uma apresentação

Uma apresentação da Slides API é composta de páginas, que contêm elementos de página.

O ID de uma apresentação pode ser derivado do URL:

https://docs.google.com/presentation/d/presentationId/edit

O ID da apresentação é uma string que contém letras, números e alguns caracteres especiais. A expressão regular a seguir pode ser usada para extrair o ID da apresentação de um URL das Planilhas Google:

/presentation/d/([a-zA-Z0-9-_]+)

Se você conhece a API Drive, o presentationId corresponde ao ID do recurso File.

As páginas e os elementos delas são identificados por IDs de objeto.

Pages

O Apresentações Google tem os seguintes tipos de página:

Mestrado Os slides-mestres definem os estilos de texto, o plano de fundo e os elementos de página padrão que aparecem em todos os slides que usam esse mestre. Elementos de página que têm que aparecer em todos os slides devem ser adicionados ao master. A maioria das apresentações tem um master, mas algumas podem ter vários ou nenhum.
Layouts Os layouts são um modelo de como os elementos de página serão organizados por padrão nos slides usando um layout. Cada layout é associado a um mestre.
Apresentações Essas páginas contêm o conteúdo que você apresenta ao público. A maioria dos slides se baseia em um master e em um layout. Você pode especificar um layout para cada slide ao criá-lo.
Observações Essas páginas têm o conteúdo dos folhetos das apresentações, incluindo uma forma que contém as notas do palestrante do slide. Cada slide tem uma página de notas correspondente. Somente o texto da forma de notas do palestrante pode ser modificado com a Slides API.
Modelos de anotações Os masters de notas definem os estilos de texto e elementos de página padrão para todas as páginas de notas. Na Slides API, os masters de notas estão disponíveis somente para leitura.

Elementos de página

Os elementos de página são os componentes visuais colocados nas páginas. A API expõe vários tipos de elementos de página:

Grupo Um conjunto de elementos de página tratados como uma unidade. Eles podem ser movidos, dimensionados e girados em conjunto.
Forma Um objeto visual simples, como retângulos, elipses e caixas de texto. As formas podem conter texto, por isso são os elementos de página mais comuns na criação de slides.
Imagem Um gráfico importado para o Apresentações.
Vídeo Um vídeo importado para o app Apresentações.
Linha Uma linha, curva ou conector visual.
Tabela Uma grade de conteúdo.
WordArt Um elemento de texto visual que se comporta de forma parecida com uma forma.
SheetsChart Um gráfico importado para o Apresentações das Planilhas Google.

Atualizações em lote

O método batchUpdate permite atualizar diversos aspectos de uma apresentação. As alterações são agrupadas em um lote para que, se uma solicitação falhar, nenhuma das demais (que podem ser dependentes) seja gravada.

O método batchUpdate funciona coletando um ou mais objetos Request, cada um especificando um único tipo de solicitação a ser realizada. Há muitos tipos diferentes de solicitações. Confira o detalhamento dos tipos de solicitações, agrupadas em diferentes categorias.

Como trabalhar com o Apresentações: CreateSlideRequest
UpdateSlidesPositionRequest
DuplicateObjectRequest
UpdatePagePropertiesRequest
DeleteObjectRequest
Como trabalhar com elementos de página: CreateShapeRequest
CreateLineRequest
UpdatePageElementTransformRequest
UpdateShapePropertiesRequest
DuplicateObjectRequest
DeleteObjectRequest
Como trabalhar com tabelas: CreateTableRequest
InsertTableRowsRequest
InsertTableColumnsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
UpdateTableRowPropertiesRequest
UpdateTableColumnPropertiesRequest
UpdateTableBorderPropertiesRequest
UpdateTableCellPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
DeleteObjectRequest
Como trabalhar com gráficos: CreateSheetsChartRequest
RefreshSheetsChartRequest
ReplaceAllShapesWithSheetsChartRequest
DeleteObjectRequest
Como trabalhar com imagens e vídeos: CreateImageRequest
CreateVideoRequest
UpdateImagePropertiesRequest
UpdateVideoPropertiesRequest
ReplaceAllShapesWithImageRequest
DuplicateObjectRequest
DeleteObjectRequest
Como trabalhar com texto: InsertTextRequest
DeleteTextRequest
ReplaceAllTextRequest
CreateParagraphBulletsRequest
DeleteParagraphBulletsRequest
UpdateTextStyleRequest
UpdateParagraphStyleRequest

O método batchUpdate retorna um corpo de resposta, que contém uma resposta para cada solicitação. Cada resposta ocupa o mesmo índice que a solicitação correspondente. Para solicitações sem resposta, a resposta desse índice será vazia. As diversas solicitações Create normalmente têm respostas para que você saiba o ID do objeto que acabou de ser adicionado.

Como trabalhar com IDs de objeto

Uma apresentação da Slides API é composta de páginas e elementos de página. Esses objetos incluem uma string de ID de objeto exclusiva em uma apresentação.

Especificar IDs de objeto na criação

Ao criar páginas ou elementos de página usando o método batchUpdate, você pode especificar um ID de objeto para o novo objeto. Isso permite criar um objeto e modificá-lo dentro da mesma solicitação batchUpdate, reduzindo o número de chamadas à API Slides e o uso da cota.

Na maioria dos casos, recomendamos gerar um ID de objeto aleatório. Por exemplo, se você estiver usando Java, java.util.UUID.randomUUID().toString() vai funcionar bem.

Se o aplicativo quiser manter controle dos objetos por determinado período, não use o ID de objeto porque ele pode mudar. Consulte a próxima seção para mais detalhes.

Manter controle dos objetos sem usar o ID de objeto

Ao fazer uma solicitação à Slides API, o ID de objeto normalmente é mantido. (as exceções estão especificadas na documentação de referência do método). Fazer uma cópia de uma apresentação inteira com a Drive API também mantém os IDs de objeto.

No entanto, você não pode depender de um ID de objeto que não seja alterado depois que uma apresentação for modificada na IU do Apresentações. Por exemplo, se alguém usar a interface do Apresentações para copiar e colar um elemento de página e depois excluir o original, o elemento de página terá um novo ID exclusivo, e o ID fornecido anteriormente pela API será perdido. Por isso, não recomendamos armazenar IDs de objeto no armazenamento do aplicativo. Em vez disso, você deve encontrar objetos na apresentação pelo conteúdo de texto ou pelo texto alternativo.

Em geral, apresentações criadas recentemente usam um conjunto consistente de IDs para slides, masters e caixas de texto padrão. Esses IDs podem mudar com o tempo, por isso recomendamos não depender desse recurso. Em vez disso, encontre os elementos que você quer modificar usando o objeto de apresentação retornado por chamadas para create() ou get().