3

私のtwitterizerのバージョンは2.3.3.21964です(ナゲットからダウンロード)。

最初の 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);

2 番目のコントローラー アクション (twitter_token) は次のとおりです。

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

ここで、oauth_token と oauth_verifier は評価された変数です。この例外でアクセストークンを取得しているときにコードが壊れます:

System.ArgumentNullException: 値を 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:\Projects\twitterizer-132\Twitterizer2\Exceptions\TwitterizerException.cs:205

私はこの問題をググってみましたが、私が理解していることから、バージョン 2.1 以降は解決されていますが、まだ解決していません。

アプリケーションが Web アプリとして設定されていることは 100% 確信しています。

4

2 に答える 2

1

これは以前に見つかったバグだと読みました。最新のリリースで修正されたかどうかはわかりませんが、当時受け入れられていた回避策は、twitter の開発サイトのtwitter アプリケーションに正しいコールバック URLを配置することでした。

アプリケーションをデバッグして、すべての変数に正しいデータが入力されているかどうかを確認することをお勧めします。多分あなたは私たちがあなたを助けるのを助けることができる何かを見つけるでしょう;)

于 2011-11-07T19:35:31.553 に答える
1

私は Twitterizer を使ったことはありませんが、Twitter API の経験はあるので試してみます。

取得している特定の例外は Twitterizer のバグのようです。null の文字列を数値に解析しようとしているためです。これで、問題の本当の原因である可能性が高いものがコール スタックに表示されます。例外が発生する前に、「ParseRateLimitHeaders」というメソッドが実行されていることがわかります。これにより、Twitter に接続している oauth トークンが現在レート制限されていると思われます。Twitter API のレート制限は、トークンが 1 時間に約 250 の API 呼び出しを超えるたびに発生します (少なくとも、約半年前はそうでした)。

したがって、使用しようとしているトークンが自分のものであるか (Twitter Web サイトからアプリ用に簡単に取得できます)、少なくとも他の多くの人が使用していないことを確認することをお勧めします。レート制限が非常に迅速に設定される可能性があるためです。

于 2011-11-07T18:43:32.930 に答える