【发布时间】:2014-06-26 16:46:17
【问题描述】:
在每 10 秒使用一次访问令牌时遇到请求过多错误。在重新阅读文档时,我意识到这是一个禁忌(“为避免错误,我们建议您以每分钟一次或更少的速度提出请求”)。
有人知道我会被限制多久吗?
【问题讨论】:
-
当你问 Nest 时他们说了什么?
-
你试过向 Nest 询问 API 吗?他们告诉你来这里。
标签: nest-api
在每 10 秒使用一次访问令牌时遇到请求过多错误。在重新阅读文档时,我意识到这是一个禁忌(“为避免错误,我们建议您以每分钟一次或更少的速度提出请求”)。
有人知道我会被限制多久吗?
【问题讨论】:
标签: nest-api
注意:这是 当前 实现。它可能会改变。
请求使用一小时的滑动窗口进行计数。如果您在一秒钟内使用所有这些,则需要等待一个小时才能使第一个退出窗口。
如果您在 10 分钟的窗口内使用所有这些,您将在 50 分钟内再收到一个请求,然后在 10 分钟内,随着更多请求退出滑动窗口,您会收到更多请求。
【讨论】:
回答我自己的问题:超过 10 分钟不到一个小时。
至少,这就是我今天所经历的,尽管昨晚至少在我放弃并获得新令牌之前的一个小时。
也许它是由 Nest 手动清除的,在这种情况下,我想它和一根绳子一样长。不幸的是,虽然 Nest 派我们来这里寻求支持,但没有回答任何问题,但很难确定。
【讨论】:
鉴于 Nest 建议您每分钟只发出一次请求,因此该错误应该会在一分钟不活动后清除。
Data Rate Limits 指南还指出:
随着我们更多地了解客户端使用模式及其对服务的影响,我们可能会发现有必要修改速率限制。我们强烈建议您让客户使用最少的调用次数来构建引人入胜的用户体验,并适当处理违反速率限制的情况。
因此,如果您需要的数据更新频率高于每分钟一次,您应该使用 API 的 REST 流式传输或 Firebase 版本来避免大量连接事件。这也将带来更好的性能,因为不需要每次都启动 HTTP 连接。
【讨论】: