Introducción

La API de Google Slides te permite crear y modificar presentaciones de Google Slides.

Las apps pueden integrarse con la API de Presentaciones de Google para crear automáticamente presentaciones atractivas a partir de datos proporcionados por el usuario y el sistema. Por ejemplo, podrías usar los detalles de los clientes de una base de datos y combinarlos con plantillas prediseñadas y opciones de configuración seleccionadas para crear presentaciones terminadas en una fracción del tiempo que llevaría crearlas manualmente.

Descripción general de la API

La colección presentations proporciona métodos que te permiten obtener y actualizar elementos dentro de la presentación.

La mayor parte de tu trabajo con la API de Slides probablemente consistirá en crear y actualizar presentaciones. Para ello, usarás el método batchUpdate, que toma una lista de objetos Request que te permiten hacer lo siguiente:

  • Crear diapositivas
  • Agregar elementos a las diapositivas, como formas o tablas
  • Cómo insertar, cambiar y quitar texto
  • Aplica transformaciones a los elementos
  • Cómo cambiar el orden de las diapositivas

Consulta Actualizaciones por lotes para obtener más detalles. Consulta las guías de introducción para ver un ejemplo simple de extremo a extremo sobre cómo usar la API.

La estructura de una presentación

Una presentación en la API de Slides se compone de páginas, que contienen elementos de página.

El ID de una presentación se puede derivar de la URL:

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

El ID de presentación es una cadena que contiene letras, números y algunos caracteres especiales. Se puede usar la siguiente expresión regular para extraer el ID de presentación de una URL de Hojas de cálculo de Google:

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

Si conoces la API de Drive, el objeto presentationId corresponde al ID del recurso File.

Las páginas y los elementos de la página se identifican con IDs de objeto.

Páginas

Presentaciones de Google tiene los siguientes tipos de páginas:

Máster Las diapositivas patrón definen los estilos de texto, el fondo y los elementos de página predeterminados que aparecen en todas las diapositivas que utilizan este patrón. Los elementos de la página que deben aparecer en todas las diapositivas se deben agregar a la diapositiva principal. La mayoría de las presentaciones tienen un patrón, pero algunas pueden tener varios o ninguno.
Diseños Los diseños sirven como plantilla para determinar cómo se organizarán los elementos de la página de forma predeterminada en las diapositivas que usen un diseño. Cada diseño está asociado a un solo diseño principal.
Presentaciones Estas páginas contienen el contenido que presentas a tu público. La mayoría de las diapositivas se basan en un patrón y un diseño. Puedes especificar qué diseño usar para cada diapositiva cuando se cree.
Notas Estas páginas contienen el contenido de los folletos de la presentación, incluida una forma que contiene las notas del orador de la diapositiva. Cada diapositiva tiene una página de notas correspondiente. Solo se puede modificar el texto en la forma de las notas del orador con la API de Slides.
Patrones de notas Las notas maestras definen los estilos de texto y los elementos de página predeterminados para todas las páginas de notas. Las notas maestras son de solo lectura en la API de Slides.

Elementos de página

Los elementos de la página son los componentes visuales que se colocan en las páginas. La API expone varios tipos de elementos de página:

Grupo Es un conjunto de elementos de la página que se consideran una unidad individual. Se pueden mover, escalar y rotar juntos.
Forma Un objeto visual simple, como rectángulos, elipses y cuadros de texto. Las formas pueden contener texto, por lo que son los elementos de página más comunes para crear diapositivas.
Imagen Un gráfico importado en Presentaciones.
Video Un video importado a Presentaciones.
Línea Línea, curva o conector visual.
Tabla Es una cuadrícula de contenido.
WordArt Es un elemento de texto visual que se comporta más como una forma.
SheetsChart Un gráfico importado a Presentaciones desde Hojas de cálculo de Google.

Actualizaciones por lotes

El método batchUpdate te permite actualizar muchos aspectos de una presentación. Los cambios se agrupan en lotes para que, si falla una solicitud, no se escriba ninguno de los otros cambios (que podrían ser dependientes).

El método batchUpdate funciona tomando uno o más objetos Request, cada uno de los cuales especifica un solo tipo de solicitud que se realizará. Existen muchos tipos diferentes de solicitudes. A continuación, se presenta un desglose de los tipos de solicitudes, agrupados en diferentes categorías.

Trabajar con Presentaciones: CreateSlideRequest
UpdateSlidesPositionRequest
DuplicateObjectRequest
UpdatePagePropertiesRequest
DeleteObjectRequest
Trabaja con elementos de la página: CreateShapeRequest
CreateLineRequest
UpdatePageElementTransformRequest
UpdateShapePropertiesRequest
DuplicateObjectRequest
DeleteObjectRequest
Trabaja con tablas: CreateTableRequest
InsertTableRowsRequest
InsertTableColumnsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
UpdateTableRowPropertiesRequest
UpdateTableColumnPropertiesRequest
UpdateTableBorderPropertiesRequest
UpdateTableCellPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
DeleteObjectRequest
Trabajar con gráficos: CreateSheetsChartRequest
RefreshSheetsChartRequest
ReplaceAllShapesWithSheetsChartRequest
DeleteObjectRequest
Trabajar con imágenes y videos: CreateImageRequest
CreateVideoRequest
UpdateImagePropertiesRequest
UpdateVideoPropertiesRequest
ReplaceAllShapesWithImageRequest
DuplicateObjectRequest
DeleteObjectRequest
Trabajar con texto: InsertTextRequest
DeleteTextRequest
ReplaceAllTextRequest
CreateParagraphBulletsRequest
DeleteParagraphBulletsRequest
UpdateTextStyleRequest
UpdateParagraphStyleRequest

El método batchUpdate devuelve un cuerpo de respuesta, que contiene una Response para cada solicitud. Cada respuesta ocupa el mismo índice que la solicitud correspondiente. En el caso de las solicitudes sin respuesta aplicable, la respuesta en ese índice estará vacía. Las distintas solicitudes de Create normalmente tienen respuestas, por lo que conoces el ID del objeto recién agregado.

Cómo trabajar con IDs de objetos

Una presentación en la API de Slides se compone de páginas y elementos de página. Estos objetos incluyen una cadena de ID de objeto que es única dentro de una presentación.

Cómo especificar IDs de objetos durante la creación

Cuando creas páginas o elementos de página con el método batchUpdate, puedes especificar de forma opcional un ID de objeto para el objeto nuevo. Esto te permite crear un objeto y modificarlo dentro de la misma solicitud de batchUpdate, lo que minimiza la cantidad de llamadas a la API de Slides y reduce el
uso de la cuota.

En la mayoría de los casos, te recomendamos que generes un ID de objeto aleatorio. Por ejemplo, si usas Java, java.util.UUID.randomUUID().toString() debería funcionar bien.

Cuando tu aplicación quiera hacer un seguimiento de los objetos durante un período más prolongado, no confíes en el ID del objeto, ya que puede cambiar. Consulta la siguiente sección para obtener más detalles.

Cómo hacer un seguimiento de los objetos sin usar el ID del objeto

Cuando realizas una solicitud a la API de Slides, normalmente se conserva el ID del objeto. (Las excepciones se indican en la documentación de referencia del método). Hacer una copia de toda una presentación con la API de Drive también conserva los IDs de los objetos.

Sin embargo, no puedes depender de que un ID de objeto no cambie después de que se modifique una presentación en la IU de Slides. Por ejemplo, si alguien usa la IU de Presentaciones para copiar y pegar un elemento de la página y, luego, borra el original, el elemento de la página tendrá un nuevo ID único y se perderá el ID que proporcionaste anteriormente a través de la API. Por lo tanto, no te recomendamos que almacenes IDs de objetos en el almacenamiento de tu aplicación. En su lugar, debes buscar objetos en la presentación por su contenido de texto o texto alternativo.

Las presentaciones creadas recientemente suelen usar un conjunto coherente de IDs para las diapositivas, los patrones y los cuadros de texto predeterminados. Estos IDs están sujetos a cambios con el tiempo, por lo que no te recomendamos que dependas de esta función. En su lugar, busca los elementos que deseas modificar con el objeto de presentación que devuelven las llamadas a create() o get().