【问题标题】:ERROR in Twitterizer.OAuthUtility.GetRequestToken() "Value cannot be null. Parameter name: String"Twitterizer.OAuthUtility.GetRequestToken() 中的错误“值不能为空。参数名称:字符串”
【发布时间】:2011-12-18 23:53:21
【问题描述】:

这是我得到该错误的行:

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

_consumerKey 和 _consumerSecret 具有正确的值。

堆栈跟踪:

[ArgumentNullException:值不能为空。 参数名称:字符串] System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +9585854 System.Number.ParseInt32(String s, NumberStyles 样式, NumberFormatInfo 信息) +119 C:\Projects\twitterizer-132\Twitterizer2\Exceptions\TwitterizerException.cs:200 中的 Twitterizer.TwitterizerException.ParseRateLimitHeaders(WebResponse 响应) C:\Projects\twitterizer-132\Twitterizer2\Exceptions\TwitterizerException.cs:98 中的 Twitterizer.TwitterizerException..ctor(String message, Exception innerException) C:\Projects\twitterizer-132\Twitterizer2\OAuth\OAuthUtility.cs:95 中的 Twitterizer.OAuthUtility.GetRequestToken(String consumerKey, String consumerSecret, String callbackAddress) D:\PROJECTS\Brace\v1\Brace.Twitter\Tweeting.cs:18 中的 Brace.Twitter.Tweeting.GetRequestTokenUrl() D:\PROJECTS\Brace\v1\Brace\Controllers\TwitterController.cs:15 中的 Brace.Controllers.TwitterController.GetToken(String oauth_token, String oauth_verifier) lambda_method(闭包,ControllerBase,对象[])+157 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase 控制器,Object[] 参数)+17 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2 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,Func1 continuation) +263 System.Web.Mvc.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14() +19 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList1 过滤器,ActionDescriptor actionDescriptor,IDictionary2 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

【问题讨论】:

    标签: c# twitter twitterizer


    【解决方案1】:

    这是我过于模糊的最佳尝试:这个错误实际上是另一个问题的症状。

    您的应用程序(不是您的实际应用程序,而是向您提供控制台令牌的 Twitter 注册)很可能没​​有设置为 Web 应用程序。它们的形式具有误导性:当您选择 Web 应用程序时,它并没有要求回调 url,但它实际上是必需的。当您在没有回调 url 的情况下保存应用时,它实际上将其保存为桌面应用。

    桌面应用程序的问题是您不能使用回调 url。 Web 应用程序可以使用基于 pin 的身份验证,但桌面应用程序不能使用基于 Web 的身份验证。 (我敢肯定这是有充分理由的。)

    因此,Twitter 拒绝了您获取请求令牌的请求,因为您还提供了回调。

    实际的例外是因为 Twitterizer 仍在寻找包含在每个(嗯,好的,几乎每个)响应中的速率限制信息,即使是来自失败的请求。

    我会(最终)解决这个问题,但它不会解决你真正的问题。

    【讨论】:

    • 谢谢!这确实具有误导性,但现在我看到了细则 :) “要限制您的应用程序使用回调,请将此字段留空。”添加回调 URL 后,现在一切正常。感谢您的快速响应!
    • Anil 和@ThePower:昨天发布的版本应该已经解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 2013-03-23
    • 2018-02-11
    • 1970-01-01
    • 2013-09-05
    • 2020-01-29
    • 1970-01-01
    相关资源
    最近更新 更多