Operações de slides

Com a API Google Slides, você cria, move e exclui slides. Os exemplos nesta página mostram algumas operações comuns de slide usando 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 objetos da página. Para isso, acesse o URL ou use uma solicitação de leitura de API.

Esses exemplos são apresentados como solicitações HTTP para serem usadas com linguagem neutra. Para saber como implementar uma atualização em lote em idiomas diferentes 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 a seguir 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 da 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.

Veja 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 está configurado para usar o PredefinedLayout de TITLE_AND_TWO_COLUMNS. Você pode especificar uma string para usar como a PAGE_ID do slide (com algumas restrições) ou permitir que a API gere a PAGE_ID omitindo o campo na solicitação.

Veja 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 a seguir mostra como usar o método CreateSlideRequest para criar um slide usando a PredefinedLayout de TITLE_AND_TWO_COLUMNS.

Você pode especificar uma string para usar como o PAGE_ID do slide (com algumas restrições). O placeholderIdMappings usa a Type de TITLE. O TITLE_ID faz referência à forma do marcador de posição do slide para que ele possa ser modificado.

Veja 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 de apresentação atual, 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 deve estar entre zero e o número de slides na apresentação.

Veja 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 o slide

O exemplo de código presentations.batchUpdate a seguir 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 o IMAGE_URL.

Uma máscara de campo é usada para especificar que apenas o plano de fundo do slide precisa ser mudado 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.

Veja a seguir o protocolo de solicitação para definir uma imagem de plano de fundo para 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

Você pode 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 o mimeType e o thumbnailSize retornados usando o campo ThumbnailProperties como um parâmetro de consulta.

Veja a seguir o protocolo de solicitação para gerar a miniatura da página com o conjunto ThumbnailProperties:

 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"
}