Notice: We're retiring Works with Nest. See the home page for more information.
Google 致力于为黑人社区推动种族平等。查看具体举措
此页面由 Cloud Translation API 翻译。
Switch to English

数据速率限制

我们希望开发人员创造引人入胜的用户体验,但我们也希望Nest服务和设备始终可供用户使用。在给定的时间内发出大量请求的产品可能会影响服务和设备的可用性,因此我们应用了速率限制。速率限制可限制给定时间段内的API调用次数。

速率限制的类型

我们实施了两类速率限制。第一个限制是每小时每个设备或结构。这些限制在所有Works with Nest产品中共享,旨在防止过度使用设备。第二类限制是每个访问令牌。这些限制旨在防止Nest服务的过度利用。

每个设备/结构的限制

每次写入数据模型都需要设备唤醒和同步状态。这会影响电池寿命,因此我们限制了对设备和结构的写入次数。我们还将监视所有设备的电池状态。如果它们降至某个阈值以下,我们将拒绝写入请求,直到电池充满电为止。

每次访问令牌限制

每个访问令牌还具有关联的速率限制。建立与服务的连接会产生一些开销,因此我们限制了产品在特定时间段内可以建立的连接数。

对于REST和REST流式调用,每个访问令牌都具有有限数量的调用。数据速率限制适用于通过REST进行的读/写调用,以及通过REST流进行的读调用。为避免错误,建议您将请求限制为每分钟最多1个呼叫。

错误回应

使用REST时,您将收到429个请求过多的响应代码。

处理307重定向

进行REST调用时,您的产品将需要处理307个重定向。 307临时重定向响应(也称为URL转发)为浏览器重新提交请求提供了新的URL。

当发生307重定向时,您需要使用新的URL信息再次拨打电话。执行此操作时,应缓存主机和端口号,以供将来使用该用户/访问令牌的呼叫使用。请记住,每个呼叫都计入速率限制。考虑您的用户如何与您的产品进行交互。某些用户将反复按下按钮或选择设置,因此,如果您为每个用户操作打电话,它会很快影响速率限制。如果用户快速连续进行一系列更改,则只应对最后一个(最近的)值进行API调用。

有关更多信息和示例,请参见如何处理重定向

307重定向后

如果您使用重定向URL信息并在以后获得307重定向,则应遵循该重定向。

连接错误

如果您使用缓存的URL信息并遇到连接错误(由于主机退出服务或站点关闭),则应恢复为原始基本URL。

速率限制更改

随着我们更多地了解使用模式及其对服务的影响,我们可能会发现有必要修改速率限制。我们强烈建议您构建产品,以使用最少的呼叫次数来构建引人注目的用户体验,并适当处理违反速率限制的问题。