使用脚本将Google Drive图片插入Google Slides时遇错误如何解决?
问题:通过Google Apps Script插入Drive中图片到Slides时提示“图片无效或损坏”
我尝试通过脚本将存储在Google Drive中的JPG图片(大小小于50MB)插入到Google Slides演示文稿中,使用的脚本如下:
function addImageToSlide() { var presentation = SlidesApp.openById("PRESENTATION ID"); var slide = presentation.appendSlide(SlidesApp.PredefinedLayout.BLANK); var imgId = "IMAGE ID"; var url = `https://drive.google.com/uc?export=download&id=${imgId}`; var logo = UrlFetchApp.fetch(url, { headers: { authorization: "Bearer " + ScriptApp.getOAuthToken() } }).getBlob(); try { var image = slide.insertImage(logo); // 获取页面尺寸 var pageWidth = presentation.getPageWidth(); var pageHeight = presentation.getPageHeight(); // 居中图片 image.setLeft(pageWidth / 2 - image.getWidth() / 2); image.setTop(pageHeight / 2 - image.getHeight() / 2); } catch (err) { console.log("An error occurred: ", err); } }
但脚本持续返回错误:
An error occurred: { [Exception: The image you are trying to use is invalid or corrupt.] name: 'Exception' }
尝试使用图片缩略图插入可成功,但画质非常差,因此仍在寻找能插入高分辨率图片的方法。请问代码或图片存在什么问题?
问题原因与解决方法
核心问题:Drive下载URL的解析异常
你使用的https://drive.google.com/uc?export=download&id=${imgId}链接,部分场景下(比如文件需要安全验证、Drive的下载跳转机制)返回的并非原始图片的二进制数据,而是包含下载确认逻辑的网页内容,Slides无法识别这种内容,因此判定为“无效或损坏”的图片。最优解决方法:直接通过DriveApp获取图片Blob
替换UrlFetchApp的请求逻辑,改用DriveApp直接读取文件Blob,代码修改如下:
function addImageToSlide() { var presentation = SlidesApp.openById("PRESENTATION ID"); var slide = presentation.appendSlide(SlidesApp.PredefinedLayout.BLANK); var imgId = "IMAGE ID"; // 直接通过DriveApp获取图片Blob,跳过下载URL环节 var logo = DriveApp.getFileById(imgId).getBlob(); try { var image = slide.insertImage(logo); // 获取页面尺寸 var pageWidth = presentation.getPageWidth(); var pageHeight = presentation.getPageHeight(); // 居中图片 image.setLeft(pageWidth / 2 - image.getWidth() / 2); image.setTop(pageHeight / 2 - image.getHeight() / 2); } catch (err) { console.log("An error occurred: ", err); } }
- 额外排查项
- 权限验证:确保脚本运行的Google账号拥有该Drive图片的查看或编辑权限,如果是共享文件,需确认权限未被限制。
- 图片完整性:本地打开该JPG图片确认是否正常显示,若存在损坏,重新上传原始图片到Drive。
内容的提问来源于stack exchange,提问作者Henrique Felipetto
相关产品推荐
相关产品推荐

