【问题标题】:Internal Error while Batch Updating in Google Docs在 Google Docs 中批量更新时出现内部错误
【发布时间】:2021-12-08 20:00:58
【问题描述】:

我想使用 docsAPI(namedRange & batch update) 替换文档中的一些文本 我的应用程序脚本功能运行良好。 但即使我不更改任何代码,也会不定期地引发内部错误。 我找不到有关错误消息的任何信息。 有人知道吗?

错误信息就像..

GoogleJsonResponseException:对 docs.documents.batchUpdate 的 API 调用 失败并出现错误:遇到内部错误。

批量更新代码就像..

function replace_named_range(doc_id = '1z8Mp2Twt_DgDe8RqPIRVSSc_VACDHdcQL9-iME75qbg', range_name='{{Replacement}}',replace_text='sample text'){
  var request = {
    "text": replace_text.toString(),
    "namedRangeName": range_name
  };
  var request_array =[];
  request_array.push({"replaceNamedRangeContent": request});
  Docs.Documents.batchUpdate({"requests": request_array},doc_id);
  Logger.log("Replace Request \ndoc_id : %s\nrange_name : %s\nreplace_text : %s",doc_id, range_name, replace_text)
}

【问题讨论】:

  • 尝试创建一个新的脚本项目。但我认为对于内部错误您无能为力

标签: google-apps-script google-docs google-docs-api internal-server-error


【解决方案1】:

由于Docs.Documents.batchUpdate() 调用有时可以正常工作,有时会出错,因此您应该使用exponential backoff 重试几次,然后再抛出错误,如下所示:

function replaceNamedRangeWithBackoff(doc_id, range_name, replace_text) {
  call(_ => replace_named_range(doc_id, range_name, replace_text));
}

【讨论】:

  • 爱你,非常感谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-04
  • 2021-11-17
  • 2022-01-01
  • 1970-01-01
相关资源
最近更新 更多