我的twitterizer版本是2.3.3.21964(从nuget下载)。
我在第一个Controller动作上有这两个简单的2行:
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是valorized变量。 我的代码在获取具有此异常的访问令牌时中断:
System.ArgumentNullException:value不能为null
System.Number.StringToNumber(String str,NumberStyles选项, NumberBuffer&安培; number,NumberFormatInfo info,Boolean parseDecimal) +12633595 System.Number.ParseInt32(String s,NumberStyles style,NumberFormatInfo info)+224
Twitterizer.TwitterizerException.ParseRateLimitHeaders(WebResponse的
C:\项目\ twitterizer-132 \ Twitterizer2 \例外\ TwitterizerException.cs:205
我已经用Google搜索了这个问题,据我所知,自2.1版以来它已经解决了,但我仍然有它。
我100%确定我的应用程序已设置为网络应用程序。
答案 0 :(得分:1)
我从未使用Twitterizer,但确实有使用Twitter API的经验,所以我会对它进行一次尝试。
看起来你得到的特定异常是Twitterizer中的一个错误,因为它试图将一个空字符串解析成一个数字,一个不能。现在,调用堆栈中显示了可能是您的问题的真正原因。您可以看到在发生异常之前正在执行一个名为“ParseRateLimitHeaders”的方法。这将使我相信您连接到Twitter的oauth令牌目前正受到速率限制。每当一个令牌在一小时内超过大约250个API调用时,就会发生Twitter API中的速率限制(至少半年前就是这种情况)。
所以我的建议是确保您尝试使用的令牌是您自己的(您可以轻松地从Twitter网站获取您的应用程序)或者至少没有被一堆使用其他人的速度限制可以很快确定。
答案 1 :(得分:1)
我读到这是以前发现的错误。我不知道它是否在最新版本中得到修复,但当时接受的解决方法是在Twitter的开发网站上的推文网站上添加正确的回调网址
我建议您调试应用程序以检查所有变量是否都填充了正确的数据。也许你找到了其他可以帮助我们帮助你的东西;)