Introducción

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

Las apps pueden integrarse con la API de Presentaciones de Google para crear automáticamente hermosas diapositivas a partir de datos proporcionados por el usuario y el sistema. Por ejemplo, puedes 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 tardarías en crearlas de forma manual.

Descripción general de la API

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

Es probable que la mayor parte de tu trabajo con la API de Presentaciones sea crear y actualizar presentaciones. Para ello, usarás el método batchUpdate; este método toma una lista de objetos de Request que te permiten hacer lo siguiente:

  • Crear diapositivas
  • Agregar elementos a las diapositivas, como formas o tablas
  • Insertar, cambiar y quitar texto
  • Aplicar transformaciones a los elementos
  • 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.

Estructura de una presentación

Una presentación en la API de Presentaciones 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 la 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 la presentación de una URL de Hojas de cálculo de Google:

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

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

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

Páginas

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

Máster Los patrones de diapositivas definen los estilos de texto, el fondo y los elementos de página predeterminados que aparecen en todas las diapositivas que usan este patrón. Los elementos de página que deben aparecer en todas las diapositivas deben agregarse al patrón. 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 la forma en que se organizarán los elementos de página de forma predeterminada en las diapositivas que usan un diseño. Cada diseño está asociado a un patrón.
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 crea.
Notas Estas páginas contienen el contenido de los folletos de la presentación, incluida una una forma que contiene las notas del orador de la diapositiva. Cada diapositiva tiene una página de notas correspondiente. Solo el texto de la forma de notas del orador se puede modificar con la API de Presentaciones.
Patrones de notas Los patrones de notas definen los estilos de texto y los elementos de página predeterminados para todas las páginas de notas. Los patrones de notas son de solo lectura en la API de Presentaciones.

Elementos de página

Los elementos de 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 página que se tratan como una unidad individual. Se pueden mover, escalar y rotar juntos.
Forma Es 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 Es un gráfico importado a Presentaciones.
Video Es un video importado a Presentaciones.
Línea Es una 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 Es 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 un lote, de modo que, si falla una solicitud, no se escriban los demás cambios (que podrían ser dependientes).

El método batchUpdate funciona tomando uno o más objetos de 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 muestra un desglose de los tipos de solicitudes, agrupados en diferentes categorías.

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

El método batchUpdate muestra 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 diversas solicitudes Create suelen tener respuestas, de modo que conoces el ID del objeto recién agregado.

Trabaja con IDs de objeto

Una presentación en la API de Presentaciones 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.

Especifica IDs de objeto durante la creación

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

En la mayoría de los casos, te recomendamos generar 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 largo, no confíes en el ID del objeto, ya que puede cambiar. Si deseas obtener más información, consulta la siguiente sección.

Haz un seguimiento de los objetos sin usar el ID del objeto

Cuando realizas una solicitud a la API de Presentaciones, el ID del objeto suele conservarse. (Cualquier excepción se indica en la documentación de referencia del método). Si haces una copia de una presentación completa con la API de Drive, también se conservan los IDs de objeto.

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 Presentaciones. Por ejemplo, si alguien usa la IU de Presentaciones para copiar y pegar un elemento de página y, luego, borra el original, el elemento de página ahora tendrá un ID único nuevo, y se perderá el ID que proporcionaste anteriormente a través de la API. Como resultado, no te recomendamos que almacenes IDs de objeto 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 recién creadas 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 confíes en esta función. En su lugar, busca los elementos que deseas modificar con el objeto de presentación que muestran las llamadas a create() o get().