Как вставить слайд в Google Do c с помощью скрипта приложения - PullRequest
1 голос
/ 29 января 2020

В настоящее время я создаю Google Do c, который предоставляет обзор всех слайдов в презентации с использованием скриптов приложения. В настоящий момент для каждого слайда я создаю миниатюру изображения и добавляю это в Google Do c.

. Что было бы лучше, так это встраивание слайда в Do c (чтобы такие вещи, как анимации и т. д. c отображаются в Google do c) - это будет похоже на нажатие копии на слайде, а затем вставку в документы Google.

Кто-нибудь знает, как этого можно добиться с помощью сценариев приложений?

Для справки - это функция, которую я сделал для миниатюр:

// Gets thumbnail URL
function getThumbnail(presentation, slideId) {
  var presentationId = presentation.getId()
  var baseUrl = "https://slides.googleapis.com/v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail?thumbnailProperties.thumbnailSize=SMALL"
  var url = baseUrl
      .replace("{presentationId}", presentationId)
      .replace("{pageObjectId}", slideId);

  var parameters = {
    method: "GET",
    headers: { Authorization: "Bearer " + ScriptToken },
    contentType: "application/json",
    muteHttpExceptions: true
  };

  var response = JSON.parse(UrlFetchApp.fetch(url, parameters));
  return response.contentUrl
}

// Update Thumbnails in Doc
function updateThumbnailCell(row, contentUrl) {
  var thumbnailCell = row.getCell(THUMBNAIL_DOC_COLUMN)
  thumbnailCell.clear()
  var imageBlob = UrlFetchApp.fetch(contentUrl).getBlob()
  thumbnailCell.insertImage(0, imageBlob).setWidth(200);
}

Cheers,

Шади

1 Ответ

2 голосов
/ 29 января 2020

Добавление Google Slides к документу

function slides2Document() {
  var pres = SlidesApp.openById('slides id');
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  var slides = pres.getSlides();
  for(var i = 0; i < slides.length; i++) {
    var slide = slides[i];
    var images = slide.getImages();
    for(var j = 0; j < images.length; j++) {
      var img = images[j];
      var imgblob = img.getBlob().getAs('image/gif');
      body.appendImage(imgblob);
    }
  }
}
...