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

Google Slide API - copy an object from a file to another file

我刚开始玩 Google 幻灯片 API。我能够在文件中复制对象。但是,当我尝试将一个对象从一个文件复制到另一个文件时,我无法做到这一点。该函数将 return 一个没有找到 objectId 的错误。感谢您的帮助!

Invalid requests[0].duplicateObject: The object (myObjectId) could not be found.

//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);
}

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

February 13, 2018,更新了幻灯片服务。至此,在幻灯片上复制对象必须能够通过本机方法实现。

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

示例脚本:

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)
}

参考: