1

そのエラーが発生する行は次のとおりです。

var requestToken = OAuthUtility.GetRequestToken(
    _consumerKey, 
    _consumerSecret, 
    "http://mysite.com/Twitter/GetToken");

_consumerKey と _consumerSecret には適切な値があります。

スタックトレース:

[ArgumentNullException: 値を null にすることはできません。パラメータ名: String] System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +9585854 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +119 Twitterizer.TwitterizerException.ParseRateLimitHeaders (WebResponse 応答) in C:\Projects\twitterizer-132\Twitterizer2\Exceptions\TwitterizerException.cs:200 Twitterizer.TwitterizerException..ctor(String message, Exception innerException) in C:\Projects\twitterizer-132\Twitterizer2\Exceptions\ TwitterizerException.cs:98 Twitterizer.OAuthUtility.GetRequestToken(String consumerKey, String consumerSecret, String callbackAddress) in C:\Projects\twitterizer-132\Twitterizer2\OAuth\OAuthUtility.cs:95 Brace.Twitter.Tweeting.2 parameters) +208 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 つのパラメーター) +27 System.Web.Mvc.<>c_ DisplayClass15.b _12() +55 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter フィルター、ActionExecutingContext preContext、Func 1 continuation) +263 System.Web.Mvc.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14() +19 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList1 フィルター、ActionDescriptor actionDescriptor、IDictionary 2 parameters) +191 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +343 System.Web.Mvc.Controller.ExecuteCore() +116 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +97 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10 System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +37 System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21 System.Web.Mvc.Async.<>c__DisplayClass81.b__7( IAsyncResult ) +12 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62 System.Web.Mvc.<> c_DisplayClasse.b_d () +50 System.Web.Mvc.SecurityUtil.b_0(アクション f) +7 System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(アクション アクション) +22 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler .EndProcessRequest(IAsyncResult 結果) +9 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8963149 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184

4

1 に答える 1

1

漠然としすぎないように最善を尽くしたのが次のとおりです。このバグは、実際には別の問題の兆候です。

ほとんどの場合、アプリケーション (実際のアプリケーションではなく、コンソール トークンを提供する Twitter への登録) が Web アプリケーションとして設定されていません。これらの形式は誤解を招きます。Web アプリを選択するときにコールバック URL が必要になるわけではありませんが、実際には必要です。コールバック URL なしでアプリを保存すると、実際にはデスクトップ アプリとして保存されます。

デスクトップ アプリの問題は、コールバック URL を使用できないことです。Web アプリは PIN ベースの認証を使用できますが、デスクトップ アプリは Web ベースの認証を使用できません。(完全に正当な理由があると確信しています。)

したがって、コールバックも提供しているため、twitter はリクエストトークンを取得するリクエストを拒否しています。

実際の例外は、Twitterizer が、失敗した要求からであっても、すべての (まあ、ほとんどすべての) 応答に含まれるレート制限情報を引き続き探しているためです。

私は(最終的に)その問題を修正しますが、それはあなたの本当の問題を解決しません.

于 2011-10-31T19:50:46.197 に答える