function onClick(){
var app = SpreadsheetApp;
var sheet = app.getActive().getSheetByName('FILE');
var image = sheet.getRange('D4').getValue();
var url = image.getContentUrl()
Logger.log(url)
}
异常:获取对象 SpreadsheetApp.CellImage 上的方法或属性 getContentUrl 时出现意外错误我也尝试使用此方法使用
DocsServiceApp->
DocsServiceApp.openBySpreadsheetId(spreadsheetId)
.getSheetByName("Sheet1")
.getImages();
但这导致了另一个错误:
Exception: Request failed for https://www.googleapis.com returned code 403. Truncated server response: {
"error": {
"errors": [
{
"domain": "global",
"reason": "exportSizeLimitExceeded",
"message": "This file is too large to be expo... (use muteHttpExceptions option to examine full response)
at gToM(SpreadsheetAppp:171:25)
at getImages(SpreadsheetAppp:34:14)
有谁知道如何修复这些错误之一,或者从谷歌表格中提取图像的不同方法?
getContentUrl
根本不起作用,而且似乎没有任何解释或修复即将到来。然而,在收到一张包含超过 11,000 张需要提取的高分辨率单元内图像的表格后,我很高兴地说我终于发现了一种极其不方便的方法来从单元内图像中检索某种 url。此解决方案的条件是图像所在的工作表(如果不是整个电子表格)必须通过
File > Share > Publish to web
实时发布到网络上。如果无法将工作表公开给公众,则另一种方法是将工作表下载为静态 HTML 文件,但这会带来自身的问题。
,并且图像元素的 src
将指向以
=w150-h20
结尾的动态 URL。您必须从 HTML 标记中提取 URL,更改这些值以获得所需的图像大小,如果您想保存图像,则需要处理原始图像缓冲区,因为 URL 不指向静态资产。