Google Slide 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);
}

person Rick Chong    schedule 16.01.2018    source источник


Ответы (2)


duplicateObject работает только с объектами в одной презентации. Копирование объектов между презентациями пока не поддерживается. Запрос на добавление функции находится здесь.

person Maurice Codik    schedule 16.01.2018
comment
Куда ведет ваша ссылка? Это не похоже на общедоступный трекер Google Issue. - person Kos; 17.01.2018
comment
@Kos, я исправил ссылку, спасибо, что сообщили мне. - person Maurice Codik; 19.01.2018

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

Справка :

person Tanaike    schedule 16.02.2018