Продолжайте получать OAuth:: Несанкционированная ошибка при использовании OAuth и драгоценных камней рубина Твиттера

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

Ошибочные коды возврата, если используется в большой степени, могут также вызвать очень ужасный код с большим количеством из если тесты, подобные этой форме:

if(function(call) != ERROR_CODE) {
    do_right_thing();
}
else {
    handle_error();
}

Лично я предпочитаю использовать исключения для ошибок, которые ДОЛЖНЫ или ДОЛЖНЫ реагироваться кодом вызова и только использовать коды ошибок для "ожидаемых сбоев", где возврат чего-то на самом деле допустим и возможен.

40
задан Tony 16 August 2009 в 20:19
поделиться

3 ответа

Это была одна из самых неприятных вещей для отладки, с которыми я столкнулся. Я выводил в нескольких местах случайно, потому что URL-адреса являются динамическими, и они не были определены в моем тестовом примере (я использую это для отображения данных диаграммы, и сейчас их недостаточно, поэтому URL-адреса api диаграммы Google пусты). Из-за этого мой браузер делал несколько запросов к моему локальному хосту при загрузке некоторых страниц. Каким-то образом это привело к полному отказу от процесса oauth. Очевидно, что люди из SO не могут узнать о проблеме, связанной с моим приложением, поэтому мне пришлось ответить на свой вопрос.

4
ответ дан 27 November 2019 в 01:06
поделиться

Мне недостаточно информации, но когда последний раз обновлялся twitter gem? twitter изменил свой oauth 'материал' примерно в середине мая. возможно, у вас старый. Я бы обновил ваш вопрос, чтобы показать callback_url и убедиться, что у вас есть правильный токен и секрет, которых, похоже, у вас нет.

также, вы указали правильный URL-адрес обратного вызова на своей странице приложения Twitter? много раз, что вас тоже облажает.

если это не удается, используйте вместо этого mbleighs twitter_auth . у меня это сработало и довольно гладко.

0
ответ дан 27 November 2019 в 01:06
поделиться

Немного опоздал на вечеринку, но сам столкнулся с той же проблемой. Я отследил проблему до настройки моего приложения OAuth в Твиттере. Изначально я не указывал URL обратного вызова, так как не был в этом уверен.

Как только я установил свое приложение для рельсов, я вернулся назад, чтобы обнаружить, что Twitter предположил, что я настольное приложение, так как я не указывал URL обратного вызова. Как только я изменил это на веб-сайт и ввел URL обратного вызова, я перестал получать 400s.

.
78
ответ дан 27 November 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: