Operações de slides

A API Google Slides permite criar, mover e excluir slides. Os exemplos desta página mostram algumas operações de slide comuns que usam o método presentations.batchUpdate.

Esses 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 da página. Recupere o valor dele no URL ou usando uma solicitação de leitura da API.

Esses exemplos são apresentados como solicitações HTTP para serem neutros em relação à linguagem. Para saber como implementar uma atualização em lote em diferentes idiomas usando as bibliotecas de cliente da API do 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 elementos 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) da apresentação.

O novo slide está configurado para usar o PredefinedLayout de TITLE_AND_TWO_COLUMNS. É possível especificar uma string para usar como 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.

É possível 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 ele possa ser modificado.

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 a seguir 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 cópias. O insertionIndex baseado em zero indica onde os slides precisam ser inseridos, com base na ordem antes da movimentação. O valor precisa estar entre zero e o número de slides da 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 a imagem de plano de fundo de 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 por PAGE_ID. A API recupera a imagem usando IMAGE_URL.

Uma máscara de campo é usada para especificar que somente o plano de fundo do slide precisa ser alterado para preservar as outras propriedades. O uso de 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 a seguir o protocolo de solicitação para definir a imagem de plano de fundo de um 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 vida útil padrão de 30 minutos.

Também é possível especificar os mimeType e 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"
}