Twitterizer - исключение, пока GetAccessToken () - PullRequest
3 голосов
/ 07 ноября 2011

версия моего твитизера 2.3.3.21964 (не загружена из nuget).

У меня есть две простые строки в первом действии контроллера:

token = OAuthUtility.GetRequestToken("XXX", "YYY",
    "http://test.roadevents.it/account/twitter_token",null);
return Redirect("http://twitter.com/oauth/authorize?oauth_token=" + token.Token);

Второе действие контроллера (twitter_token) таково:

OAuthTokenResponse token = OAuthUtility.GetAccessToken("XXX", "YYY", 
    oauth_token, oauth_verifier);
ViewBag.twToken = token.Token;

Где oauth_token и oauth_verifier являются оцененными переменными. Мой код прерывается при получении токена доступа с этим исключением:

System.ArgumentNullException: значение не может быть нулевым

System.Number.StringToNumber (String str, NumberStyles, NumberBuffer & number, информация NumberFormatInfo, логический синтаксический анализDecimal) +12633595 System.Number.ParseInt32 (String s, стиль NumberStyles, информация NumberFormatInfo) + 224

Twitterizer.TwitterizerException.ParseRateLimitHeaders (WebResponse ответ) в

C: \ Projects \ twitterizer-132 \ Twitterizer2 \ Исключения \ TwitterizerException.cs: 205

Я погуглил эту проблему, и насколько я понимаю, она была решена начиная с версии 2.1, но у меня все еще есть.

Я на 100% уверен, что мое приложение настроено как веб-приложение.

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Я читал, что это ошибка, найденная ранее. Я не знаю, было ли это исправлено в последнем выпуске, но принятое временное решение на тот момент заключалось в том, чтобы исправить URL-адрес обратного вызова в вашем твиттер-приложении на dev-сайте twitter.

Я бы посоветовал отладить ваше приложение, чтобы проверить, все ли переменные заполнены правильными данными. Может быть, вы найдете что-то еще, что может помочь нам помочь вам;)

1 голос
/ 07 ноября 2011

Я никогда не пользовался Twitterizer, но у меня есть опыт работы с Twitter API, поэтому я попробую.

Похоже, что конкретное исключение, которое вы получаете, является ошибкой в ​​Twitterizer, так как он пытается разобрать строку, которая является нулевой, в число, а нет, нет.Теперь, что может быть реальной причиной вашей проблемы, показано в стеке вызовов.Вы можете видеть, что метод с именем "ParseRateLimitHeaders" выполняется до возникновения исключения.Это заставит меня поверить, что токен oauth, с которым вы подключаетесь к Twitter, в настоящее время ограничен.Ограничение скорости в Twitter API происходит каждый раз, когда токен превышает примерно 250 вызовов API в час (по крайней мере, так было около полугода назад).

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

...