【发布时间】:2017-08-08 10:12:10
【问题描述】:
Google 表格 API v4 This API 已提供 error 500 and error 503 超过 24 小时。
代码之前已经运行了好几个月,但没有任何改变。
我知道 500 和 503 应该是内部错误,但从搜索来看,它们似乎是在晦涩难懂的情况下返回的,这些情况可能没有很好的记录,用户可以解决。
这些问题与速率限制无关。我的直觉与授权令牌到期有关(因为代码中没有任何更改),但我尝试刷新授权令牌并仍然遇到问题。
我在 Google 的状态/正常运行时间页面上没有看到任何问题。
sheets.spreadsheets.values.append API 的响应通常是:
{
"code": 503,
"errors": [
{
"message": "The service is currently unavailable.",
"domain": "global",
"reason": "backendError"
}
]
}
但有时也:
{
"code": 500,
"errors": [
{
"message": "Internal error encountered.",
"domain": "global",
"reason": "backendError"
}
]
}
示例请求有效负载,其中包括一个实际的工作表 ID,如果有 Google 员工可以在他们的终端上进行尝试,则该 ID 可以重现:
{
"spreadsheetId": "1_P5IR4OLbYd27L9m184R37L_PP2drCk6PSJndIlEhms",
"range": "Incoming!A4",
"valueInputOption": "USER_ENTERED",
"insertDataOption": "INSERT_ROWS",
"resource": {
"values": [
[
"=HYPERLINK(\"https://url/\", \"Blah\")",
"6/13 22:18",
"=IF(AND(INDIRECT(\"R[0]C[3]\",false)<>\"\",INDIRECT(\"R[0]C[9]\",false)=\"\"),((INDIRECT(\"R[0]C[-1]\",false)+C$3/24)-NOW())*24,)",
"dv1",
"testdoc",
"170613_006_0400PM.MP3",
"00:40:00.000",
"",
"",
"",
"",
"",
"=IF(INDIRECT(\"R[0]C[-1]\",false)<>\"\",IFERROR(INDIRECT(\"R[0]C[-6]\",false)/INDIRECT(\"R[0]C[-1]\",false),\"---\"),)",
"",
"",
"",
"",
"",
"=IF(INDIRECT(\"R[0]C[1]\",false)=\"\",(INDIRECT(\"R[0]C[-17]\",false)+S$3/24-NOW())*24,)",
""
]
]
},
"auth": {
"transporter": {},
"clientId_": "anonymizied.apps.googleusercontent.com",
"clientSecret_": "anonymizied",
"redirectUri_": "urn:ietf:wg:oauth:2.0:oob",
"opts": {},
"credentials": {
"access_token": "anonymizied",
"refresh_token": "anonymizied",
"token_type": "Bearer",
"expiry_date": 1502144766732
}
}
}
【问题讨论】:
-
感谢您的详细信息,约翰。我在我们的后端发现了异常。您可以尝试将“传入”表中的数据“形状”粘贴到此处吗?例如,哪些行/列有数据,其中一些是空白的,等等。?谢谢!
-
我刚刚在公开表上进行了复制:docs.google.com/spreadsheets/d/… 我在太平洋标准时间下午 1:11 和 1:14 左右调用了它,都得到了错误 503。与上面的原始请求数据的唯一区别显然是工作表ID不同。非常感谢您的观看。
-
感谢约翰,这很有帮助!
-
很高兴听到山姆!谢谢参观。请注意下面的解决方法——Google 错误与附加到工作表上的隐藏行有关。
-
我们已经确定了问题并正在修复中。发布后我会在这里发布。
标签: google-sheets google-api google-spreadsheet-api google-sheets-api