You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets Apps Script自定义函数执行内部错误问题排查

Google Sheets 公开插件自定义函数周期性报内部执行错误问题

问题表现

  • 自定义函数运行时周期性返回报错:Internal error executing the custom function.
  • App Script 官方执行日志显示,触发该报错时自定义函数执行时长为0 (zero) seconds
  • 自定义函数第一行已添加Logger.log打印逻辑,报错触发时该行日志完全不会输出,可判断自定义函数调用请求未到达代码执行服务端,属于平台层面错误
    执行报错截图

已尝试的处理方案

  • 多次向Google官方反馈该问题,得到的答复均为「在函数中添加随机延迟」「使用指数退避策略」
  • 按建议添加随机延迟后,报错出现频率略有下降,但未完全消除
  • 已为所有App Script API调用实现指数退避重试逻辑,仍会触发该报错
  • 开发全程遵循App Script官方文档给出的最佳实践(包括规范使用范围批量操作等),报错依然存在

现有代码实现

指数退避封装函数

function call_(func) {
    for (var n = 0; n < 6; n++) {
        try {
            return func()
        } catch (e) {
            Logger.log(`Retrying... ${n + 1} times exception: ${e}`)
            if (n === 6 - 1) {
                throw e
            }
            Utilities.sleep(
                Math.pow(2, n) * 1000 + Math.round(Math.random() * 1000)
            )
        }
    }
}

自定义函数精简逻辑

function CUSTOMFUNCTION() {
    let apiResponse = call_(() =>
            UrlFetchApp.fetch(someUrl, {
                muteHttpExceptions: true,
            })
        )

      let response = JSON.parse(call_(() => apiResponse.getContentText()))
    // 对响应结果执行业务逻辑处理
    return value
}

上述代码未捕获HTTP异常为刻意的设计选择。

问题复现特征

  • 在脚本绑定的开发测试表格中,任何操作都无法复现该报错
  • 报错仅在脚本通过GCP部署后出现:部署方式为在GCP中使用Google Workspace Marketplace SDK绑定脚本ID,将插件发布为所有用户可安装到自身Google Sheets的公开插件
  • 过去数月持续向Google团队提交排查申请,始终未得到有效解决方案,征集同类问题的解决思路。

内容的提问来源于stack exchange,提问作者Sheldon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 08:21:18