Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

データレートの制限

開発者には魅力的なユーザーエクスペリエンスを作成してもらいたいだけでなく、Nestサービスとデバイスを常にユーザーが利用できるようにしたいのです。特定の期間に大量のリクエストを行う製品は、サービスとデバイスの可用性に影響を与える可能性があるため、レート制限を適用します。レート制限は、特定の期間のAPI呼び出しの数を制限します。

レート制限の種類

2つのクラスのレート制限を実装しました。最初の制限は、時間当たりのデバイスまたは構造ごとです。これらの制限は、すべてのWorks with Nest製品で共有されており、デバイスの過剰使用を防ぐことを目的としています。限界値の第二のクラスは、アクセストークンあたりの金額です。これらの制限は、Nestサービスの過剰使用を防ぐために設計されています。

デバイス/構造ごとの制限

データモデルへのすべての書き込みでは、デバイスがウェイクアップして状態を同期する必要があります。これはバッテリーの寿命に影響を与える可能性があるため、デバイスと構造への書き込み回数を制限します。また、すべてのデバイスのバッテリー状態を監視します。それらが特定のしきい値を下回った場合、バッテリーが再充電されるまで書き込み要求を拒否します。

アクセストークンごとの制限

各アクセス トークンには、レート制限も関連付けられています。サービスへの接続を確立するとオーバーヘッドが発生するため、特定の期間に製品が確立できる接続の数を制限します。

RESTおよびRESTストリーミング呼び出しの場合、各アクセストークンの呼び出し数には制限があります。データレートの制限は、RESTを介した読み取り/書き込み呼び出し、およびRESTストリーミングを介した読み取り呼び出しに適用されます。エラーを回避するために、リクエストを1分あたり最大1回に制限することをお勧めします。

エラー応答

使用するときはRESTを、あなたは429のあまりにも多くのリクエストの応答コードを受信します。

307リダイレクトの処理

作るときのREST呼び出しを、あなたの製品は、307のリダイレクトを処理する必要があります。 URL転送とも呼ばれる、307 Temporary Redirect応答は、ブラウザが要求を再送信するための新しいURLを提供します。

307リダイレクトが発生した場合は、新しいURL情報を使用して再度電話をかける必要があります。これを行うときは、そのユーザー/アクセストークンを使用した今後の呼び出しで使用するために、ホストとポート番号をキャッシュする必要があります。各呼び出しはレート制限にカウントされることを忘れないでください。ユーザーが製品をどのように操作しているかを検討してください。一部のユーザーはボタンを繰り返し押したり、設定を選択したりするため、すべてのユーザー アクションに対して呼び出しを行うと、レート制限にすぐに影響する可能性があります。ユーザーが連続して一連の変更を行う場合は、最後の(最新の)値に対してのみAPI呼び出しを行う必要があります。

詳細と例については、リダイレクトを処理する方法

307リダイレクト後

リダイレクト URL 情報を使用していて、後で 307 リダイレクトを取得した場合は、そのリダイレクトに従う必要があります。

接続エラー

キャッシュされたURL情報を使用していて、接続エラーが発生した場合(ホストのサービス停止またはサイトのダウンが原因)、元のベースURLに戻す必要があります。

レート制限の変更

使用パターンとそれらがサービスに与える影響について詳しく知ると、レート制限を変更する必要がある場合があります。魅力的なユーザーエクスペリエンスを構築するために必要な最小限の通話数を使用し、レート制限違反に適切に対処するように製品を構築することを強くお勧めします。