Код ошибки Firebase 9999 заблокирован

Внезапно мы получаем ошибку аутентификации в Nest и Firebase. Код ошибки 9999, сообщение "заблокировано". Исходный код не изменился на стороне приложения, поэтому кажется, что что-то изменилось на стороне сервера.

Я вижу аналогичную проблему здесь, однако они получают сообщение «слишком много запросов», а не «заблокировано».

Может ли кто-нибудь помочь нам решить эту проблему? Спасибо.


person kwahn    schedule 02.03.2015    source источник
comment
Привет Давид, спасибо за ответ. Итак, вы уверены, что ошибка такая же, как слишком много запросов? Похоже, что код ошибки 9999 может использоваться для нескольких типов ошибок.   -  person kwahn    schedule 03.03.2015
comment
Я получаю ту же проблему внезапно. Клиентом является Firebase для node.js, и при вызове authWithCustomToken я получаю сообщение об ошибке {"code":"BLOCKED"}.   -  person Kuba Wyrostek    schedule 04.03.2015
comment
Ах, не обман, у @Lionel есть правильный ответ ниже. Удалил свой комментарий во избежание путаницы.   -  person David W. Keith    schedule 04.03.2015


Ответы (1)


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

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

Не могли бы вы опубликовать пример кода о том, как вы обрабатываете открытие, закрытие и использование соединений? Ваш пример кода поможет проанализировать специфику проблемы.

person Lionel Iorgulescu    schedule 02.03.2015
comment
Благодарю вас! Этот ответ должен помочь нам определить источник проблемы. У нас есть приложение для iOS, приложение для Android и веб-сервер, которые взаимодействуют с Nest, так что это немного сложно. Гипотетически, если мы исправим проблему, сколько времени должно пройти, чтобы разблокировать? - person kwahn; 03.03.2015
comment
Проблема должна возникать только после достижения лимита и только для тех попыток подключения, которые превышают лимит. - person Lionel Iorgulescu; 04.03.2015
comment
Как нам разблокировать эти аккаунты? - person kwahn; 04.03.2015
comment
Каков именно этот предел? Что касается примера кода публикации о том, как вы обрабатываете открытие, закрытие и использование соединений, все, что я делаю, это создание экземпляра new Firebase() и присоединение к on() событиям данных. В конце концов процесс просто завершается (кроме случаев, когда он убит). В соответствии с этим: stackoverflow.com /questions/27641764/ должно хватить. Могут ли некоторые затяжные соединения (в случае, если процесс убит или если process.exit() недостаточно) повредить моему лимиту доступа к Nest? - person Kuba Wyrostek; 04.03.2015
comment
В настоящее время эта проблема существует уже несколько дней, и я пытаюсь разблокировать себя (не касаясь ее), но это не решает ее. Я использую Nest iOS SDK (код основан на примере). Но в примере кода нет ссылки на закрытие соединений - person Wim Haanstra; 05.03.2015