Sé que cuando copia y pega manualmente una diapositiva de GSlides a GDocs, hay una opción para 'Vincular a la presentación', que permite que la imagen/objeto pegado en GDocs permanezca vinculado a la presentación original. Cuando se actualiza la presentación original, aparece un botón 'Actualizar' en el objeto vinculado en GDocs y al hacer clic en él se sincroniza el objeto con la diapositiva original. Sin embargo, hacer esto para una gran presentación con docenas/cientos de diapositivas es tedioso y consume mucho tiempo, por lo que estoy tratando de escribir un script en GSlides, que automatiza la copia y el pegado de miniaturas de diapositivas vinculadas en un archivo GDocs.
Encontré una manera de obtener una imagen de la miniatura de GSlides a un archivo GDocs usando Apps Script, pero esta miniatura permanece como una imagen estática y no hay forma de "volver a sincronizarla" para reflejar futuros cambios en la presentación. . También intenté configurar programáticamente un 'LinkUrl' para la imagen pegada, y configurar esta URL en la URL que apunta a la diapositiva exacta a la que corresponde la imagen, pero esto no es lo mismo que pegar manualmente la diapositiva, y no No lo enlace de la misma manera: la imagen aún permanece estática.
Este es mi código de Apps Script que hace lo que he descrito anteriormente:
function exportSlideImages(presentationId) { let presentation = SlidesApp.openById(presentationId); let doc = DocumentApp.create('Synced doc'); presentation.getSlides().forEach(function(slide, i) { let thumbnail = Slides.Presentations.Pages.getThumbnail(presentationId, slide.getObjectId(), { 'thumbnailProperties.thumbnailSize': 'SMALL'}); let response = UrlFetchApp.fetch(thumbnail.contentUrl); let blob = response.getBlob(); blob.setName('slide' + (i + 1) + '.png'); let url = SlidesApp.getActivePresentation().getUrl(); let sldId = SlidesApp.getActivePresentation().getSlides()[i].getObjectId(); url = url + '/edit#slide=id.' + sldId; doc.getBody().insertImage(i,blob).setLinkUrl(url); }); } function test() { exportSlideImages(SlidesApp.getActivePresentation().getId()) }