Nest API — как долго действуют ограничения скорости токена доступа

#nest-api

#nest-api

Вопрос:

При использовании токена доступа каждые 10 секунд произошла ошибка слишком большого количества запросов. Перечитывая документы, я понимаю, что это недопустимо («Чтобы избежать ошибок, мы рекомендуем вам делать запросы со скоростью один раз в минуту или меньше»).

Кто-нибудь знает, как долго я буду ограничен?

Комментарии:

1. Что ответили Nest, когда вы их спросили?

2. Вы пробовали спрашивать Nest об API? Они говорят вам прийти сюда.

Ответ №1:

Примечание: это текущая реализация. Это может измениться.

Запросы подсчитываются с использованием одночасового скользящего окна. Если вы используете их все за одну секунду, вам нужно будет подождать час, пока первый выпадет из окна.

Если вы используете их все в 10-минутном окне, вы получите еще один запрос через 50 минут, а затем больше запросов в течение 10 минут по мере выпадения из скользящего окна.

Комментарии:

1. Спасибо за этот ввод — это официальный ответ Nest или ответ, основанный на вашем собственном опыте? Кроме того, вы упоминаете использование всех ваших запросов в течение определенного промежутка времени — предположительно, это 60 в час? У меня была возможность запустить потоковую передачу Firebase и JSON, для меня это уже не такая проблема, но это все еще действительно полезная информация.

Ответ №2:

Отвечая на мой собственный вопрос: более 10 минут и менее часа.

По крайней мере, это то, что я испытал сегодня, хотя прошлой ночью прошло не менее часа, прежде чем я сдался и получил новый токен.

Возможно, он вручную очищается Nest, и в этом случае я полагаю, что он такой же длины, как кусок строки. К сожалению, пока Nest отправляет нас сюда за поддержкой, а затем не отвечает ни на какие вопросы, трудно быть уверенным.

Ответ №3:

Учитывая, что Nest рекомендует выполнять запросы только один раз в минуту, ошибка должна исчезнуть после минуты бездействия.

В руководстве по ограничениям скорости передачи данных также указано:

По мере того, как мы узнаем больше о шаблонах использования клиентов и их влиянии на сервис, мы можем счесть необходимым изменить ограничения скорости. Мы настоятельно рекомендуем вам настроить своих клиентов на использование минимального количества вызовов, необходимого для создания привлекательного пользовательского интерфейса, и соответствующим образом реагировать на нарушения ограничения скорости.

Похоже, что если вам нужны обновления данных чаще, чем раз в минуту, вам следует использовать REST streaming или Firebase версию API, чтобы избежать большого количества событий подключения. Это также приведет к повышению производительности, поскольку HTTP-соединение не нужно запускать каждый раз.

Комментарии:

1. Это не прояснилось через минуту (я уже пробовал ждать). На самом деле он все еще не очистился через час, поэтому я получил еще один токен. Я все еще думаю, что вопрос разумный — на какой срок наложен запрет?

2. Теперь я внедрил локальный кэш, который предотвращает попадание в Nest-API более одного раза каждые 60 секунд. Однако я только что получил ответ 429: слишком много запросов снова, что означает, что даже каждые 60 секунд слишком часто.

3. Если батарея устройства разряжена, вы также получите 429 (для предотвращения разрядки аккумулятора)