Я пытаюсь скопировать слайды из исходной презентации и добавить их в конец целевой презентации. Я искал решения на SO, но они используют скрипт приложений Google. Я ищу решение, которое может использовать слайды Google или REST API Google Drive.
До сих пор я пытался получить каждый элемент слайдов исходной презентации и использовать пакетные обновления, чтобы добавить их в целевую презентацию, но, очевидно, это утомительно и не охватывает все случаи.
У кого-нибудь есть возможные способы выполнить эту задачу?
Большое спасибо за ваши предложения! Вы должны написать ответ, чтобы я мог отметить этот вопрос как отвеченный.
Спасибо за ответ. Я опубликовал ответ, включив пример сценария для последнего обходного пути. Не могли бы вы подтвердить это? Если это не тот результат, который вы хотите, я извиняюсь.
К сожалению, на текущем этапе пока нет методов для прямого копирования слайда (это похоже на метод copyTo API листов) в другие слайды Google. Поэтому, чтобы скопировать слайд на другие слайды, я думаю, что есть 2 обходных пути.
Я рекомендую последний, потому что я думаю, что первый будет сложным сценарием. Поэтому я хотел бы предложить пример сценария для последнего обходного пути.
При использовании этого сценария выполните следующие действия.
https://script.google.com/macros/s/#####/exec
.В этом потоке веб-приложения были развернуты как собственный API. В этом примере в качестве теста использовалось «Любой, даже анонимный» для «У кого есть доступ к приложению:». Если вы хотите использовать токен доступа, измените его. Подробную информацию вы можете увидеть ниже в разделе «Ссылки».
function doGet(e) {
var srcId = e.parameters.srcId;
var dstId = e.parameters.dstId;
var srcPage = e.parameters.srcPage;
var srcSlide = SlidesApp.openById(srcId);
var dstSlide = SlidesApp.openById(dstId);
var copySlide = srcSlide.getSlides()[srcPage - 1];
dstSlide.appendSlide(copySlide);
return ContentService.createTextOutput("Done.");
}
После развертывания веб-приложений вы можете использовать веб-приложения как собственный API. Пример curl для запроса к развернутым веб-приложениям выглядит следующим образом.
Прежде чем использовать это, установите идентификатор исходного и целевого файлов слайдов. Если вы хотите скопировать первую страницу исходных слайдов, установите 1
на srcPage
. Также, пожалуйста, установите конечную точку, которая была получена выше.
curl -GL \
-d "srcId=### fileId of source Slides ###" \
-d "dstId=### fileId of destination Slides ###" \
-d "srcPage=1" \
"https://script.google.com/macros/s/#####/exec"
При выполнении этой команды возвращается Done.
. В это время вы можете увидеть добавленный слайд к последней странице в целевых слайдах.
Более простой способ здесь (возможно) debugcn.com/en/article/18027667.html
К сожалению, на текущем этапе пока нет методов для прямого копирования слайда (это похоже на метод copyTo API листов) в другие слайды Google. Поэтому, чтобы скопировать слайд на другие слайды, я думаю, что есть 2 обходных пути. 1. После получения всех объектов и форматов на слайде методом
get
создайте новый слайд и поместите объекты методомbatchUpdate
. 2. Создайте API с помощью Google Apps Script, потому что служба слайдов GAS имеет метод прямого копирования слайда. Я рекомендую последний, потому что я думаю, что первый будет сложным сценарием.