【发布时间】:2017-08-31 23:12:56
【问题描述】:
我正在开发一个连接到 Microsoft Graph API 的 Node.js 应用程序。
通常,我会返回一个429 状态代码,在error documentation 中将其描述为“请求过多”。
有时返回的消息是:
太多请求。客户端应用程序已被限制,不应尝试重复请求,直到经过一段时间。
其他时候,它会返回:
“TooManyRequests。服务器正忙。请稍后再试。”。
不幸的是,它没有在标头中返回 Retry-After 字段,尽管他们的 best practices 声称它应该这样做。
这完全是在开发中,我并没有过多地使用该服务,因为它一直在调试期间。我意识到微软经常改变它的工作方式。我只是发现很难围绕甚至不提供Retry-After 字段的服务开发应用程序,并且似乎有很多问题(我使用的是v1.0 端点)。
当我等待 5 分钟时(正如我所看到的那样),服务仍然出错。这是一个示例返回响应:
{
"error": {
"code": "TooManyRequests",
"message": "The server is busy. Please try again later.",
"innerError": {
"request-id": "d963bb00-6bdf-4d6b-87f9-973ef00de211",
"date": "2017-08-31T23:09:32"
}
}
}
这可能与正在执行的操作有关吗?
我正在更新A2:L3533 的范围。它们都是文本值。我想知道这是否会影响节流。我还没有找到有关使用“较小”操作集的任何指导。
【问题讨论】: