如何将 Google 表格中的图像上传到 Google 幻灯片

How do I upload image from Google Sheets to Google Slides

如标题所示,我目前有代码截取网站的屏幕截图并将其放在我的 Google 表格中。我的问题是如何将该图像传输到演示文稿中?图像可能会改变,所以如果可以动态改变会更好。我看到了 class ReplaceAllShapesWithImageRequest 但示例不多,他们使用 URL 而不是 Google 表格中的单元格。感谢您的帮助!

编辑
可能还有更多图片(大约 9 张),现在幻灯片中有占位符,但我如何才能针对特定图片针对特定幻灯片以适合这样的内容

其中数字 01-08 将是图像。 谢谢你的帮助。

编辑 2
下面是截图的代码

function snapScreenshot() {
  //specify where I want the image to be
  var row = 11;
  var col = 2;
  var siteUrl = sheet.getRange(row, col).getValue()
  var url = "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=" + encodeURIComponent(siteUrl) + "&key=" + pageSpeedApiKey;
  var res = UrlFetchApp.fetch(url).getContentText()
  var obj = JSON.parse(res);
  var imgData = obj.lighthouseResult.audits['final-screenshot'].details.data;
  var strImage = imgData.replace(/^data:image\/[a-z]+;base64,/, "")
  var blob = Utilities.newBlob(Utilities.base64Decode(strImage), "image/jpeg", "sample.jpeg");
  sheet.insertImage(blob, 1, 29);

   for (var i=0; i< obj.lighthouseResult.audits["screenshot-thumbnails"].details.items.length; i++) {
    var imgData = obj.lighthouseResult.audits["screenshot-thumbnails"].details.items[i].data;
    var strImage = imgData.replace(/^data:image\/[a-z]+;base64,/, "")
    var blob = Utilities.newBlob(Utilities.base64Decode(strImage), "image/jpeg", "sample.jpeg");
    sheet.insertImage(blob, 1, 20+(i*6))
  }
}



感谢 Tanaike 的指导,我有点想明白了。我没有从 pagespeed insights api 获取图像,而是将其放在 Sheets 然后 将其放在 Slide 上,而是直接将图像放在 Slide 上。

function snapScreenshot(presentationId) {
  var row = 11;
  var col = 2;
  var siteUrl = sheet.getRange(row, col).getValue()
  var url = "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=" + encodeURIComponent(siteUrl) + "&key=" + pageSpeedApiKey;
  var res = UrlFetchApp.fetch(url).getContentText()
  var obj = JSON.parse(res);
  var imgData = obj.lighthouseResult.audits['final-screenshot'].details.data;
  var strImage = imgData.replace(/^data:image\/[a-z]+;base64,/, "")
  var blob = Utilities.newBlob(Utilities.base64Decode(strImage), "image/jpeg", "sample.jpeg");
  var presentation = SlidesApp.openById(presentationId)
  var page = presentation.getSlideById(slide_id)
  var position = {left:230, top: 87};
  var size = {width: 600, height: 220}
  page.insertImage(blob, position.left, position.top, size.width, size.height)