Google幻灯片API - 将文件中的对象复制到另一个文件

时间:2018-01-16 03:49:11

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

我刚刚开始玩Google Slide API。我能够在文件中复制对象。但是,当我尝试将对象从一个文件复制到另一个文件时,我无法执行此操作。该函数将返回未找到objectId的错误。谢谢你的帮助!

  

无效请求[0] .duplicateObject:找不到对象(myObjectId)。

//read a file
function copyPasteObject() {
  //presentationId if the input
  var presentationId = myPresentationId;
  var presentation = Slides.Presentations.get(presentationId);
  var slides = presentation.slides;
  //getting elements objectId
  Logger.log(slides[0].pageElements[0].objectId);

  var request1 = [{
    duplicateObject: {
      objectId: slides[0].pageElements[0].objectId
    }
  }];

  // Execute the request.
  var createBullet = Slides.Presentations.batchUpdate({
    requests: request1
  }, myTargetPresentationId);
}

2 个答案:

答案 0 :(得分:1)

duplicateObject仅适用于同一演示文稿中的对象。目前尚不支持在演示文稿中复制对象 - 要遵循的功能请求为here

答案 1 :(得分:1)

February 13, 2018,幻灯片服务已更新。通过这种方式,可以通过本机方法实现复制幻灯片上的对象。

此示例脚本将源幻灯片的第一页上的形状对象复制到目标幻灯片的第一页。使用时,请根据您的环境进行修改。

示例脚本:

function myFunction(){
  // source side
  var srcSlide = SlidesApp.getActivePresentation().getSlides()[0];
  var shape = srcSlide.getShapes()[0];

  // destination side
  var dstSlides = SlidesApp.openById("### file ID ###");
  var dstSlide = dstSlides.getSlides()[0];
  dstSlide.insertShape(shape)
}

参考: