Operações com elementos

A API Google Slides permite criar e editar um PageElement incluindo caixas de texto, imagens, tabelas, formas básicas, linhas e vídeos incorporados. Os exemplos nesta página mostram alguns elementos comuns operações usando o presentations.batchUpdate .

Esses exemplos usam as seguintes variáveis:

  • PRESENTATION_ID: indica onde você fornece apresentação ID. Você pode recuperar o valor desse ID a partir do URL da apresentação.
  • PAGE_ID: indica onde você fornece o objeto de página ID. Você pode recuperar o valor dele no URL ou usando uma solicitação de leitura da API.
  • PAGE_ELEMENT_ID: indica onde você fornece a página ID de objeto do elemento. Você você pode especificar esse ID para os elementos que criar (com alguns restrições). ou permitir que a API Slides crie um automaticamente. IDs de elementos podem ser recuperados por meio de 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 idiomas diferentes usando a API do Google bibliotecas de cliente, consulte os seguintes guias:

Adicionar uma lista com marcadores a uma caixa de texto

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a InsertTextRequest para inserir texto em uma caixa de texto vazia especificada pelo PAGE_ELEMENT_ID. Em seguida, a amostra usa CreateParagraphBulletsRequest para converter todo o texto da caixa de texto em uma lista com marcadores. Itens na lista são separados por \n caracteres, enquanto o recuo é controlado com \t caracteres.

Confira a seguir o protocolo de solicitação para criar uma apresentação:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My List\n\tItem 1\n\t\tItem 2\n\t\t\tItem 3",
        "insertionIndex": 0
      },
      "createParagraphBullets": {
        "objectId": PAGE_ELEMENT_ID,
        "bulletPreset": "BULLET_ARROW_DIAMOND_DISC",
        "textRange": {
          "type": "ALL"
        }
      }
    }
  ]
}

Essa solicitação pode criar uma lista com marcadores como esta:

Resultado da receita da lista com marcadores.

Adicionar uma forma a um slide

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a CreateShapeRequest para adicionar uma forma de onda a um slide especificado por PAGE_ID. Essa solicitação especifica o tipo de forma e, em seguida, dimensiona e posiciona a forma em no slide. Em seguida, ele usa o InsertTextRequest para adicionar texto à forma. A solicitação define o ID da linha como PAGE_ELEMENT_ID:

Veja a seguir o protocolo de solicitação para adicionar uma forma a um slide:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createShape": {
        "objectId": PAGE_ELEMENT_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 3000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 0.6807,
            "scaleY": 0.4585,
            "translateX": 6583050,
            "translateY": 1673950,
            "unit": "EMU"
          }
        },
        "shapeType": "WAVE"
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My Wave Shape",
        "insertionIndex": 0
      }
    }
  ]
}

Adicionar um vídeo a um slide

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a CreateVideoRequest para incorporar um vídeo em um slide especificado pelo PAGE_ID. Essa solicitação dimensiona e posiciona o vídeo no slide e define ID para PAGE_ELEMENT_ID. O identificador exclusivo do vídeo de origem é Defina como VIDEO_ID. Por exemplo, o vídeo do YouTube em https://www.youtube.com/watch?v=7U3axjORYZ0 tem o ID 7U3axjORYZ0.

Confira a seguir o protocolo de solicitação para adicionar um vídeo a um slide:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createVideo": {
        "objectId": PAGE_ELEMENT_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 12000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 9000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 381,
            "scaleY": 381,
            "translateX": 152400,
            "translateY": 152400,
            "unit": "EMU"
          }
        },
        "source": "YOUTUBE",
        "id": VIDEO_ID
      }
    }
  ]
}

Copiar e editar um elemento

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a DuplicateObjectRequest para tomar uma forma já existente (especificada pelo método PAGE_ELEMENT_ID) e faça uma cópia (especificado pelo COPY_ELEMENT_ID).

As solicitações subsequentes fazem as seguintes alterações no objeto duplicado:

  • Define a cor do plano de fundo como a cor do tema LIGHT2.
  • Move a cópia para baixo na página (em relação à posição da forma original).
  • Define a fonte do texto como Georgia de 18 pt.
  • Edita o texto para "Minha cópia da forma".

Essas solicitações usam máscaras de campo para preservar as propriedades da forma que não são alteradas (como o estilo do contorno). Usando as máscaras de campo também melhoram o desempenho.

Para mais informações sobre como copiar um slide, consulte o exemplo Copiar um slide.

Veja a seguir o protocolo de solicitação para copiar e editar um elemento:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "duplicateObject": {
        "objectId": PAGE_ELEMENT_ID,
        "objectIds": {
          PAGE_ELEMENT_ID: COPY_ELEMENT_ID
        }
      }
    },
    {
      "updateShapeProperties": {
        "objectId": COPY_ELEMENT_ID,
        "fields": "shapeBackgroundFill.solidFill.color",
        "shapeProperties": {
          "shapeBackgroundFill": {
            "solidFill": {
              "color": {
                "themeColor": "LIGHT2"
              }
            }
          }
        }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": COPY_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
          "scaleX": 1,
          "scaleY": 1,
          "translateX": 0,
          "translateY": 1250000,
          "unit": "EMU"
        }
      }
    },
    {
      "updateTextStyle": {
        "objectId": COPY_ELEMENT_ID,
        "fields": "fontFamily,fontSize",
        "textRange": {
          "type": "ALL"
        },
        "style": {
          "fontFamily": "Georgia",
          "fontSize": {
            "magnitude": 18,
            "unit": "PT"
          }
        }
      }
    },
    {
      "deleteText": {
        "objectId": COPY_ELEMENT_ID,
        "textRange": {
          "type": "ALL"
        }
      }
    },
    {
      "insertText": {
        "objectId": COPY_ELEMENT_ID,
        "text": "My Shape Copy",
        "insertionIndex": 0
      }
    }
  ]
}

Veja como uma forma e sua cópia podem ficar depois dessas atualizações:

Copiar e editar o resultado de um roteiro de elemento.

Editar a estrutura de tópicos de uma imagem ou um vídeo

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a UpdateImagePropertiesRequest para atualizar a aparência do contorno de uma imagem especificada pelo IMAGE_ELEMENT_ID. Ele também usa o UpdateVideoPropertiesRequest para atualizar a aparência do contorno de um vídeo incorporado especificado pelo VIDEO_ELEMENT_ID.

As solicitações fazem as seguintes alterações no objeto:

  • Define a cor do contorno da imagem como a cor do tema ACCENT5 com valores transparência
  • Define a cor do contorno do vídeo como a cor do tema ACCENT1 sem transparência
  • Define a espessura do contorno como 3 pt para ambos.
  • Define o estilo do contorno da imagem como SOLID.
  • Define o estilo da estrutura de tópicos do vídeo como DASH_DOT.

Tanto o método UpdateImagePropertiesRequest quanto o O método UpdateVideoPropertiesRequest só pode mudar a aparência da imagem e descrições de vídeo. Todas as outras propriedades são somente leitura. As solicitações aqui usam máscaras de campo para especificar que apenas o contorno deve ser alterado para proteger o código contra futuras alterações da API. Usando o campo máscaras também melhora o desempenho.

Confira a seguir o protocolo de solicitação para editar o contorno de uma imagem ou um vídeo:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateImageProperties": {
        "objectId": IMAGE_ELEMENT_ID,
        "fields": "outline",
        "imageProperties": {
          "outline": {
            "dashStyle": "SOLID",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.8,
                "color": {
                  "themeColor": "ACCENT5"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    },
    {
      "updateVideoProperties": {
        "objectId": VIDEO_ELEMENT_ID,
        "fields": "outline",
        "videoProperties": {
          "outline": {
            "dashStyle": "DASH_DOT",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.8,
                "color": {
                  "themeColor": "ACCENT1"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    }
  ]
}

Confira como uma imagem e um vídeo incorporado vão ficar depois dessas atualizações:

Receitas de contornos de imagens e vídeos
resultado.

Editar o contorno de uma forma

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a UpdateShapePropertiesRequest para tomar uma forma já existente (especificada pelo método PAGE_ELEMENT_ID) e atualiza a aparência do contorno.

As solicitações fazem as seguintes alterações no objeto:

  • Define a cor do contorno como a cor do tema ACCENT5 com valores transparência
  • Define a espessura do contorno como 3 pt.
  • Define o estilo do contorno como LONG_DASH.

Essas solicitações usam máscaras de campo para preservar as propriedades da forma que não são alteradas (como a cor de preenchimento da forma). Usando as máscaras de campo também melhoram o desempenho.

Veja a seguir o protocolo de solicitação para editar o contorno de uma forma:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateShapeProperties": {
        "objectId": PAGE_ELEMENT_ID,
        "fields": "outline",
        "shapeProperties": {
          "outline": {
            "dashStyle": "LONG_DASH",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.6,
                "color": {
                  "themeColor": "ACCENT5"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    }
  ]
}

Confira como uma forma vai ficar depois dessas atualizações:

Resultado da receita da edição do contorno.

Formatar o texto em uma forma ou caixa de texto

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a UpdateTextStyleRequest para tomar uma forma já existente (especificada pelo método PAGE_ELEMENT_ID) e atualiza a aparência do texto.

As solicitações fazem as seguintes alterações no objeto:

  • Define a cor do texto como o tema ACCENT5.
  • Define a fonte como Corsiva de 18 pts em negrito e itálico.
  • Sublinha o texto.

Essas solicitações usam máscaras de campo para preservar propriedades de estilo de texto que não são alteradas (como cor de fundo, ou deslocamentos de valor de referência). O uso de máscaras de campo também melhora o desempenho.

Veja a seguir o protocolo de solicitação para formatar texto em uma forma ou caixa de texto:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateTextStyle": {
        "objectId": PAGE_ELEMENT_ID,
        "fields": "foregroundColor,bold,italic,fontFamily,fontSize,underline",
        "style": {
          "foregroundColor": {
            "opaqueColor": {
              "themeColor": "ACCENT5"
            }
          },
          "bold": true,
          "italic": true,
          "underline": true,
          "fontFamily": "Corsiva",
          "fontSize": {
            "magnitude": 18,
            "unit": "PT"
          }
        },
        "textRange": {
          "type": "ALL"
        }
      }
    }
  ]
}

Veja como o texto da forma vai ficar depois dessas atualizações:

Editar receita de formato de texto
resultado.

Importar um gráfico do Planilhas Google

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a CreateSheetsChartRequest para importar um gráfico de uma planilha e colocá-lo em um slide especificado pelo PAGE_ID.

A solicitação requer o ID da planilha (especificado pelo SPREADSHEET_ID) e o ID do gráfico da planilha (especificado pelo SPREADSHEET_CHART_ID). O ID do gráfico em A apresentação de slides é especificada pelo PRESENTATION_CHART_ID

A solicitação também define LinkingMode do gráfico do Apresentações para LINKED, a fim de atualizar gráfico incorporado se o gráfico na planilha de origem estiver atualizado.

Veja a seguir o protocolo da solicitação do qual importar um gráfico Planilhas:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createSheetsChart": {
        "objectId": PRESENTATION_CHART_ID,
        "spreadsheetId": SPREADSHEET_ID,
        "chartId": SPREADSHEET_CHART_ID,
        "linkingMode": "LINKED",
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 4000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 4000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 100000,
            "translateY": 100000,
            "unit": "EMU"
          }
      }
    }
  ]
}

Atualizar um gráfico no Planilhas

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a RefreshSheetsChartRequest para atualizar um gráfico vinculado em uma apresentação, substituindo-o pelas informações desse gráfico da planilha de origem do Planilhas. A a solicitação exige o ID do gráfico da apresentação do Apresentações Google (especificado pelo PRESENTATION_CHART_ID).

Confira a seguir o protocolo de solicitação usado para atualizar um gráfico Planilhas:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "refreshSheetsChart": {
        "objectId": PRESENTATION_CHART_ID
      }
    }
  ]
}