Я добавляю к презентациям десятки слайдов с помощью простого скрипта приложения:
var presentation_to = SlidesApp.openById(presentation_to_id);
var presentation_from = SlidesApp.openById(presentation_from_id);
var slide = presentation_from.getSlideById(slide_id);
var newSlide = presentation_to.appendSlide(slide);
Для этого у меня есть конечная точка API сценария приложения.
Я начал с одного сценария приложения, который перебирал все идентификаторы слайдов, но у него была ужасная производительность, и время ожидания истекало через 5 минут. Я разделил свои вызовы сценария приложения API, чтобы запрашивать один слайд за раз, с распараллеливанием (поэтому я выполняю несколько запросов, чтобы добавить слайд в ту же презентацию сразу).
Когда на слайдах есть большие изображения, я все равно получаю следующее:
Google::Apis::TransmissionError: execution expired
Неужели appendSlide()
производительность настолько плохая, что я хочу сделать это невозможно, или есть способ заставить это работать, не дожидаясь 1 часа, чтобы сгенерировать одну презентацию из 50 слайдов?
PS: Вы найдете прикрепленные журналы скрипта. Каждая строка предназначена для добавления ОДНОГО слайда к презентации (всегда одно и то же место назначения). Время выполнения и количество ошибок просто зашкаливают. Производительность просто ограничена Google или есть способ обойти эту проблему?