Introdução

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

Os apps podem se integrar à API Google Slides para criar apresentações de slides automaticamente com dados fornecidos pelo usuário e pelo sistema. Por exemplo, é possível usar detalhes do cliente de um banco de dados e combiná-los com modelos predefinidos e opções de configuração selecionadas para criar apresentações finalizadas em uma fração do tempo que levaria para criá-las manualmente.

Visão geral da API

A coleção de apresentações oferece métodos que permitem receber e atualizar elementos na apresentação.

A maior parte do seu trabalho com a API Slides provavelmente será a criação e atualização de apresentações. Isso é feito usando o batchUpdate método; este método recebe uma lista de Request objetos que permitem fazer ações como:

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

Consulte Atualizações em lote para mais detalhes. Consulte os guias Introdução para um exemplo simples de como usar a API.

A estrutura de uma apresentação

Uma apresentação na API Slides é composta por 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 seguinte expressão regular pode ser usada para extrair o ID da apresentação de um URL do Planilhas Google:

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

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

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

Páginas

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

Masters 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. Os elementos de página que precisam aparecer em todos os slides devem ser adicionados ao mestre. A maioria das apresentações tem um mestre, mas algumas podem ter vários ou nenhum.
Layouts Os layouts servem como um modelo de como os elementos de página serão organizados por padrão em slides que usam um layout. Cada layout está associado a um mestre.
Slides Essas páginas contêm o conteúdo que você está apresentando ao público. A maioria dos slides é baseada em um mestre e um layout. É possível especificar qual layout usar para cada slide quando ele é criado.
Observações Essas páginas contêm o conteúdo dos folhetos de apresentação, incluindo uma uma forma que contém as anotações do apresentador do slide. Cada slide tem uma página de observações correspondente. Somente o texto na forma das anotações do apresentador pode ser modificado com a API Slides.
Mestres de observações Os mestres de observações definem os estilos de texto e os elementos de página padrão para todas as páginas de observações. Os mestres de observações são somente leitura na API Slides.

Elementos de página

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

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

Atualizações em lote

O método batchUpdate permite atualizar muitos aspectos de uma apresentação. As mudanças são agrupadas em um lote para que, se uma solicitação falhar, nenhuma das outras mudanças (possivelmente dependentes) seja gravada.

O método batchUpdate funciona usando um ou mais Request objetos, cada um especificando um único tipo de solicitação a ser realizada. Há muitos tipos diferentes de solicitações. Confira a seguir um 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 Response para cada solicitação. Cada resposta ocupa o mesmo índice da solicitação correspondente. Para solicitações sem resposta aplicável, a resposta nesse índice estará vazia. As várias solicitações Create normalmente têm respostas, para que você saiba o ID do objeto recém-adicionado.

Como trabalhar com IDs de objeto

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

Especificar IDs de objeto na criação

Ao criar páginas ou elementos de página usando o batchUpdate, é possível especificar um ID de objeto para o novo objeto. Isso permite criar um objeto e modificá-lo na mesma solicitação batchUpdate, minimizando o número de chamadas para a API Slides e reduzindo
o uso da cota.

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

Quando o aplicativo quiser acompanhar objetos por um período mais longo, não confie no ID do objeto, porque ele pode mudar. Consulte a seção a seguir para mais detalhes.

Como acompanhar objetos sem usar o ID do objeto

Quando você faz uma solicitação da API Slides, o ID do objeto é normalmente preservado. Todas as exceções são chamadas na documentação de referência do método. Fazer uma cópia de uma apresentação inteira com a API Drive também preserva os IDs de objeto.

No entanto, não é possível depender de um ID de objeto que não seja alterado depois que uma apresentação é modificada na interface 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. Como resultado, não recomendamos armazenar IDs de objeto no armazenamento do aplicativo. Em vez disso, encontre objetos na apresentação pelo conteúdo de texto ou texto alternativo.

As apresentações recém-criadas normalmente usam um conjunto consistente de IDs para slides, mestres e caixas de texto padrão. Esses IDs estão sujeitos a mudanças ao longo do tempo, então não recomendamos que você confie nesse recurso. Em vez disso, encontre os elementos que você quer modificar usando o objeto de apresentação retornado por chamadas para create() ou get().