temas slides presentaciones presentacion plantillas para gratis google docs ruby google-drive-sdk google-api-ruby-client google-slides google-slides-api

ruby - slides - Copie una diapositiva de la presentación de Google en una nueva presentación de Google mediante API



plantillas de google slides gratis (3)

Aunque es imperfecto, puede acercarse utilizando la nueva API de Google Slides . Puede leer la diapositiva de la presentación de origen y luego intentar replicarla en la presentación de destino. Por el momento, no todas las características de Slides son compatibles con la API, por lo que puede haber cierta pérdida de información en el proceso.

Deseo utilizar la API de Google para crear una nueva presentación de Google, pero con una diapositiva copiada de otra presentación previa de Google.

Mi pregunta es: ¿es posible construir una nueva presentación de Google e insertar diapositivas (singularmente) en la nueva? ¿O es posible eliminar una diapositiva de Google Presentation?


No es posible desde la API realizar esta operación completa desde la API. Aunque, podemos create nueva presentación de Google o copy . O bien, podemos hacer eso desde la interacción del navegador mediante ctrl+c una diapositiva y ctrl+v en otra.


(Feb 2017) A partir de noviembre de 2016 con el lanzamiento de la API de Google Slides , ahora es posible una alternativa a la solución que OP está solicitando, aunque no directamente con la API. Esa solución alternativa es que ONE DIAPOSITIVA que desea copiar está en su propio archivo independiente. Luego puede usar dos API de Google para que suceda: la API de Slides (para realizar las funciones de nivel de documento , como agregar nuevas diapositivas), así como la API de Google Drive (para acceso orientado a archivos, como copiar).

Suena como si estuvieras usando la Biblioteca de clientes de Google API para Ruby , por lo que estás configurado allí. El siguiente paso es crear un proyecto en Google Developers Console con las API de Google Slides y Google Slides habilitadas, luego, descargue el archivo client_secret*.json después de crear sus credenciales de OAuth2.

Para ayudarlo a comenzar, esta es la muestra de inicio rápido de Ruby para la API de Drive , y aquí está el inicio rápido de Ruby para la API de Slides . Si no eres "alérgico" a Python (si lo eres, solo pretendes que es un seudocódigo), he creado varios videos con más ejemplos del "mundo real" sobre el uso de la API de Slides que puedes aprender y migrar a Ruby. Si es deseado.

A continuación se muestra otro ejemplo de Python al que se puede SLIDE_TEMPLATE_FILE Ruby que hace exactamente lo que el OP solicitó, suponiendo que su plantilla sea SLIDE_TEMPLATE_FILE , DRIVE es el punto final del servicio Drive API y SLIDES es el punto final de la API de Slides. Si alguien me envía un PM a un puerto de Ruby, actualizaré esta respuesta con él.

# query for template file with one slide TMPLFILE = SLIDE_TEMPLATE_FILE rsp = DRIVE.files().list(q="name=''%s''" % TMPLFILE).execute().get(''files'')[0] # copy template file DATA = {''name'': ''Google Drive & Slides API template DEMO''} DECK_ID = DRIVE.files().copy(body=DATA, fileId=rsp[''id'']).execute().get(''id'') # create 2 more (1 title-only & 1 blank) slides in copied file reqs = [ {''createSlide'': {''slideLayoutReference'': {''predefinedLayout'': ''TITLE_ONLY''}}}, {''createSlide'': {''slideLayoutReference'': {''predefinedLayout'': ''BLANK''}}}, ] SLIDES.presentations().batchUpdate(body={''requests'': reqs}, presentationId=DECK_ID).execute()

Finalmente, sí, también puede eliminar diapositivas de las presentaciones con la solicitud deleteObject , pasando el ID de la diapositiva / página que desea eliminar. Otra solución alternativa si no puede aislar ONE DIAPOSITIVAS: copie toda la presentación y elimine todas las páginas, excepto UNA DIAPOSITIVA, y luego comience a agregar nuevas diapositivas. Es de esperar que la API finalmente obtenga "la solución correcta" para que no tengamos que jugar estos juegos.