Извлечение URL-адреса указанного c слайда в презентации с помощью скрипта Google Apps - PullRequest
1 голос
/ 23 января 2020

У меня проблема со скриптом Google Apps. У меня есть ссылка на слайды Google Slides в файле Google Sheets. Я сделал копию обоих файлов и хочу обновить ссылку на слайд на листе новой. Не могли бы вы помочь мне найти решение для этого? Потому что я этого не достиг.

Ответы [ 2 ]

0 голосов
/ 24 января 2020

С помощью следующего кода вы можете выполнить sh вашу цель; то есть вставить в ячейку B5 URL третьего слайда. Вам нужно только вставить в код необходимые идентификаторы и активировать SlidesApp , используя Resource ⮞ Advanced Google services ⮞ Slides ⮞ On.

function insertSlideURL() {
  var sheet = SpreadsheetApp.openById(
    "{SPREADSHEET ID}").getSheetByName("Sheet1");
  var cell = "B5";
  var presentation = SlidesApp.openById(
    "{PRESENTATION ID}");
  var slides = presentation.getSlides();
  var slide = 3;
  var slideURL = presentation.getUrl() + "#slide=id." + slides[slide - 1]
    .getObjectId();
  sheet.getRange(cell).setValue(slideURL);
}

Я надеюсь, что это удовлетворяет вашим требованиям. Вы можете изменить переменные ячейки и слайда, чтобы соответствовать другой конфигурации ячейки / слайда.

Для более ясного объяснения: я использовал getSlides(), чтобы собрать массив каждого слайда и getObjectId(), чтобы прочитать его ID. Пожалуйста, напишите мне, если вам нужна дополнительная помощь или дополнительные разъяснения.

0 голосов
/ 23 января 2020

Вам необходимо создать URL-адрес слайда вручную, используя идентификатор объекта из Slide.getObjectID()

Вот пример, в котором записываются URL-адреса для каждого слайда в презентации.

function getSlideURLS() {
  var presentation = SlidesApp.getActivePresentation();
  var base_url = presentation.getUrl();

  var slides = presentation.getSlides();
  for(var i in slides){
    var slide_url = base_url+'#slide=id.'+slides[i].getObjectId();
    Logger.log(slide_url);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...