插入工作表(Google App脚本)中的insertImage的Blob大小是否有限制?

时间:2019-05-23 20:44:36

标签: javascript google-apps-script

我正在通过其 ID将Google驱动器上的图像插入工作表。

但是,在执行代码时,它总是会抛出:

很抱歉,发生服务器错误。请稍等,然后重试。 (第XX行,文件“ TestCodeV1.0”)

第XX行的代码为 insertImage(blobSource,列,行)

我已经在GDrive上测试了不同图像的FILE_ID,它适用于小于或等于 151239字节 img.getSize )的图像。对于更大的图像,它只会引发相同的错误。

我尝试在 getFileByID insertImage 之间添加延迟,但这并没有帮助(认为这可能是“仍在加载图像斑点” < / em>错误类型)。

我试图查看它是否与图像的像素数或宽度/高度有关。

唯一的因素似乎是大小(151239字节)

var SPREADSHEET_URL = 'YOUR_SHEET_ID_HERE'
var SHEET_NAME= 'YOUR_SHEET_NAME_HERE'
var FILE_ID= 'YOUR_IMAGE_ID_HERE'

var ss = SpreadsheetApp.openById(SPREADSHEET_URL);
var sheet = ss.getSheetByName(SHEET_NAME);

var img = DriveApp.getFileById(FILE_ID).getBlob();
var image = sheet.insertImage(img, 1,1);

我希望可以轻松插入作品的图像。但是,任何大于147KB的图像都会失败,并显示以下错误: “很抱歉,发生服务器错误。请稍候,然后重试。”

1 个答案:

答案 0 :(得分:2)

Tanaike解决- 查找完整的说明HERE

摘要

插入了 insertImage() 的图像的像素面积必须小于 1 048 576 px ^ 2

一些最大像素尺寸的示例:

  • 1024像素x 1024像素
  • 2048像素x 512像素
  • 4096像素x 256像素