К сожалению, на данном этапе пока нет методов прямого копирования слайда (это как метод copyTo of Sheets API.) В другие Google Slides. Поэтому, чтобы скопировать слайд на другие слайды, я думаю, что есть 2 обходных пути.
- После получения всех объектов и форматов на слайде методом get, создайте новый слайд и поместите объекты с помощью метода batchUpdate.
- Создайте API с помощью Google Apps Script, поскольку у службы слайдов в GAS есть метод прямого копирования слайда.
Я рекомендую последнее, потому что я думаю, что первое будет сложным сценарием. Поэтому я хотел бы предложить пример сценария для последнего обходного пути.
При использовании этого сценария выполните следующий поток действий.
Поток приготовления
- Войдите в Google Drive. https://drive.google.com/drive/my-drive
- Создание нового автономного проекта.
- Задайте имя проекта, скопируйте и вставьте следующий пример сценария.
- Развертывание веб-приложений.
- В редакторе сценариев откройте диалоговое окно с помощью «Опубликовать» -> «Развернуть как веб-приложение».
- Выберите «Я» для «Выполнить приложение как:».
- Выберите «Любой, даже анонимный» для «У кого есть доступ к приложению:».
- Нажмите кнопку «Развернуть» как новую «Версия проекта».
- Автоматически открывать диалоговое окно «Требуется авторизация».
- Нажмите «Просмотреть разрешения».
- Выберите собственную учетную запись.
- Нажмите «Дополнительно» на «Это приложение не подтверждено».
- Нажмите «Перейти к ### имени проекта ### (небезопасно)»
- Нажмите кнопку «Разрешить».
- Скопируйте "URL текущего веб-приложения:".
- Нажмите «ОК».
Благодаря этому потоку веб-приложения были развернуты как собственный API. В этом примере в качестве теста использовался «Любой, даже анонимный» для «У кого есть доступ к приложению:». Если вы хотите использовать токен доступа, пожалуйста, измените его. Подробную информацию вы можете увидеть ниже в разделе «Рекомендации».
Пример сценария
Сценарий Google Apps:
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.");
}
команда curl:
После развертывания веб-приложений вы можете использовать веб-приложения в качестве собственного API. Пример скручивания для запроса к развернутым веб-приложениям выглядит следующим образом.
Прежде чем использовать это, установите идентификатор исходного и конечного файла слайдов. Если вы хотите скопировать первую страницу исходных слайдов, установите 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.
. В это время вы можете увидеть добавленный слайд на последней странице слайдов назначения.
Ссылки