Google Apps脚本追加幻灯片非常慢

时间:2018-06-19 19:12:11

标签: javascript google-apps-script google-slides-api

我正在尝试通过附加较小的演示文稿(3-4张幻灯片的模块)的副本来创建新的较大的演示文稿。尽管我知道该怎么做,但是我发现性能并不令人满意。最终的演示文稿最多需要4-5分钟的时间。我想知道是否有一种方法可以加快速度。有人可以看看我到目前为止的POC,指出我要去哪里了吗?任何帮助将不胜感激!

//This function should run on open of document
function onOpen() {  
 var ui = SlidesApp
 .getUi()
 .createMenu('Modules')
 .addItem('Create new deck...', 'createNewDeck')
 .addToUi();
}

function createNewDeck() {
  var html = HtmlService
  .createHtmlOutputFromFile('Page')
  .setTitle('Training Deck Builder')
  .setWidth(300);
  
  SlidesApp
  .getUi() // Or DocumentApp or FormApp.
  .showSidebar(html);
}

function doSomething() {
  Logger.log('I just did something');
}

function addSlide(id) {
  Logger.log('We are going to add slide number ' + id);
  
  var currentPresentation = SlidesApp.getActivePresentation();
  var newPresentation = SlidesApp
  .openById(id)
  .getSlides();
  
  var slidesLength = newPresentation.length;
  for (var i = 0; i < slidesLength; i++) {
        currentPresentation.appendSlide(newPresentation[i])
      }
}
Hello, world! <br>
<ul>
<strong>Experimentation</strong>
<br>
<input class="slideDeck" type="checkbox" value="1E8hACPZz3HPYinMQgtGz6ijT2GeTTGOkAb44Y64Yepw" />1| Introduction | Intro<br>
<input class="slideDeck" type="checkbox" value="1j4zyaG-66mV5YMrKVi2YHQRvQMAvEXsXv9UqsMSlTqI" />2| Setup | JS Timing<br>
</ul>
<input type="button" id="submitButton" value="Create Slides" onclick="onSubmit()" />

<script>
function onSubmit() {
document.getElementById('submitButton').disabled = true;
try {
var slides = document.getElementsByClassName('slideDeck');
 [].forEach.call(slides, function (slide) {
  console.dir(slide.value);
  google.script.run.addSlide(slide.value);
 });
} catch(e) {
console.log(e);
}

}
</script>

0 个答案:

没有答案