Google apps script 按URL插入图像不';无法在谷歌应用程序脚本中工作
我创建的谷歌表单中的一个响应是上传一个图像,该图像与链接电子表格中的URL一起保存在我的谷歌硬盘中。在谷歌幻灯片中,我创建了一个应用程序脚本,并成功地从电子表格中为每一行/条目以及该行的文本创建了幻灯片,但在尝试使用“按URL”插入图像时遇到了困难。在运行时,我会引发异常“URL处的图像…无法检索。请确保图像有效且可公开访问”。当我通过菜单栏手动尝试按URL插入图像时,我也会遇到相同的错误。我的驱动器中的所有文件夹和文件都不受限制,因此internet上的任何人都可以使用此链接查看图像。我已经在我的浏览器和其他浏览器中进行了测试,它成功地打开了图像,但没有在幻灯片中打开。 我一定错过了什么,但我想不出来 下面是我从函数中使用的一些代码,但不包括对电子表格的引用。已尝试将“/edit”和“/view”添加到URL末尾,但结果相同。记录器确实显示正在从工作表中抓取URLGoogle 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上的任何人都可以使用此链接查看图像。我已经在
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
可能重复