[英]Error retrieving image from URL with SpreadsheetApp.newCellImage() builder
我的应用程序正在尝试使用谷歌应用脚本将图像插入谷歌驱动表。
它工作正常......但它间歇性地挂断来自谷歌脚本的响应错误:
例外:从 URL 或错误 URL 检索图像时出错: https ://drive.google.com/uc?id=1uvjg9_ZZg2sI5RYbPMEn6xXJhhnwuFyq&export=download。
代码是:
var fpm_mon_image = file_from_folder(id_folder_images , image_AR ) ; // get "image_AR" from folder
var url_mon_image = fpm_mon_image.getDownloadUrl() ;
var image = SpreadsheetApp.newCellImage().setSourceUrl(url_mon_image).setAltTextTitle(titre).toBuilder().build() ;
Utilities.sleep(1000); // for testing ...
SpreadsheetApp.flush();
Utilities.sleep(1000);
var rangeIma= fpm_sp.getRange(scal_li_SP +1, 2) ;
rangeIma.setValue(image).setVerticalAlignment('bottom') ; // stop here with error above
它可以正常工作 5、10 次,然后挂断 2、3、5 次,然后再次正常工作....(我开始掉头发 ;-))
我试过了 :
var srcfile = DriveApp.getFileById(id_mon_image);
srcfile.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
var image = fpm_sp.insertImage(srcfile.getBlob(), my_col , my_row);
但是图像没有插入到单元格中......
你能帮忙吗? 非常感谢。
不幸的是,我无法复制您的Exception: Error retrieving image from URL or bad URL:
的情况。 所以,虽然我不确定你的实际情况,但是下面的修改呢?
在使用此脚本之前, 请在 Advanced Google services 中启用 Drive API 。
var fileId = "###"; // Please set the file ID of your image.
var url = Drive.Files.get(fileId).thumbnailLink.replace(/\=s.+/, "=s512");
var title = "sample title";
var image = SpreadsheetApp.newCellImage().setSourceUrl(url).setAltTextTitle(title).build();
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A1").setValue(image);
运行此脚本时,会使用 Drive API 从图像文件中检索缩略图链接。 并且,图像的图像尺寸被改变。 并且,图像被放置到活动工作表的单元格“A1”中。
在这种情况下,如果出现图像大小的问题,则可以消除此问题。 而且,如果出现共享文件的问题,也可以消除此问题。 通过这个,我认为您的问题可能会被删除。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.