Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 按URL插入图像不';无法在谷歌应用程序脚本中工作_Google Apps Script_Google Sheets_Google Forms_Google Slides_Insert Image - Fatal编程技术网

Google apps script 按URL插入图像不';无法在谷歌应用程序脚本中工作

Google apps script 按URL插入图像不';无法在谷歌应用程序脚本中工作,google-apps-script,google-sheets,google-forms,google-slides,insert-image,Google Apps Script,Google Sheets,Google Forms,Google Slides,Insert Image,我创建的谷歌表单中的一个响应是上传一个图像,该图像与链接电子表格中的URL一起保存在我的谷歌硬盘中。在谷歌幻灯片中,我创建了一个应用程序脚本,并成功地从电子表格中为每一行/条目以及该行的文本创建了幻灯片,但在尝试使用“按URL”插入图像时遇到了困难。在运行时,我会引发异常“URL处的图像…无法检索。请确保图像有效且可公开访问”。当我通过菜单栏手动尝试按URL插入图像时,我也会遇到相同的错误。我的驱动器中的所有文件夹和文件都不受限制,因此internet上的任何人都可以使用此链接查看图像。我已经在

我创建的谷歌表单中的一个响应是上传一个图像,该图像与链接电子表格中的URL一起保存在我的谷歌硬盘中。在谷歌幻灯片中,我创建了一个应用程序脚本,并成功地从电子表格中为每一行/条目以及该行的文本创建了幻灯片,但在尝试使用“按URL”插入图像时遇到了困难。在运行时,我会引发异常“URL处的图像…无法检索。请确保图像有效且可公开访问”。当我通过菜单栏手动尝试按URL插入图像时,我也会遇到相同的错误。我的驱动器中的所有文件夹和文件都不受限制,因此internet上的任何人都可以使用此链接查看图像。我已经在我的浏览器和其他浏览器中进行了测试,它成功地打开了图像,但没有在幻灯片中打开。 我一定错过了什么,但我想不出来

下面是我从函数中使用的一些代码,但不包括对电子表格的引用。已尝试将“/edit”和“/view”添加到URL末尾,但结果相同。记录器确实显示正在从工作表中抓取URL

function CreateSlides() {
  var deck = SlidesApp.getActivePresentation();
  var a = 2;  // data begins in second row in spreadsheet
  while (sheet.getRange(a,2,1,1).getValue() != "") {
  //Insert new slide if not first slide
    if (a != 2) {
      slide = deck.insertSlide(a-2,SlidesApp.PredefinedLayout.BLANK);  //add new slide
    } else {
      slide = deck.getSlides()[0]; //get first slide
    }
  // Insert image of painting
  Logger.log(sheet.getRange(paintingURLCol + a).getValue());
  var picture = slide.insertImage(sheet.getRange(paintingURLCol + a).getValue() + '/view');
  // Edit picture size and position
  // Increment counter to next row in sheet
  a++;
  }
}

Google Form by upload question type记录的URL不能与
插入图像(URL)
等方法一起使用,因为这些URL不受支持。相反,您应该使用:

https://drive.google.com/uc?id=DRIVE_FILE_ID
以上是因为记录到电子表格的URL指向嵌入图像的页面,而不是实际图像文件

相关的


    • 谢谢鲁宾。这就是我所做的,它解决了这个问题。下面是我用于解决方案的示例代码

      var fileURL = sheet.getRange(paintingURLCol + a).getValue();
      var fileID = fileURL.substr(fileURL.search("=")+1);  //strip off text before id= in the URL
      var file = DriveApp.getFileById(fileID);
      slide.insertImage(file);
      

      请分享您的数据表样本。端点上似乎没有结束的图像
      /view
      可能重复