【发布时间】:2013-06-11 05:54:42
【问题描述】:
我可能在 TweetSharp 或 Hammock 中偶然发现了一个奇怪的错误。尝试通过以下常规程序从 Twitter 获取授权令牌时:
TwitterService service = new TwitterService(API_KEY,API_SECRET);
OAuthRequestToken request = service.GetRequestToken(GetCallBackUrl());
我注意到,如果回调 url 包含 IP 地址而不是机器名称(localhost/SERVER1 等),则页面需要永远加载,然后引发 ArgumentNullException。
System.ArgumentNullException: Value cannot be null.
Parameter name: query at System.Compat.Web.HttpUtility.ParseQueryString(String query, Encoding encoding)
in f:\src\hammock\src\net40\Hammock.ClientProfile\Mono\HttpUtility.cs:line 1220 at
System.Compat.Web.HttpUtility.ParseQueryString(String query)
in f:\src\hammock\src\net40\Hammock.ClientProfile\Mono\HttpUtility.cs:line 1214
at TweetSharp.TwitterService.GetRequestToken(String callback)
in f:\src\tweetsharp\src\TweetSharp\TwitterService.OAuth.cs:line 173
at TwitterForm.SetAuthUrl()
at TwitterForm.Page_Load(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
一旦我切换回 PC 名称,有时一切似乎都很好。 在大多数客户端上,切换到 Name 有效,但在某些客户端上,它不会并不断抛出上述错误。我怀疑更改为 PC 名称不起作用的人可能是因为他们正在使用代理服务器。我会继续排查问题。
现在我只想知道是否有人对此有可能的解决方法或解决方案?
【问题讨论】:
-
我现在也有同样的问题,真的不知道如何解决。我正在开发一个 MVC4 项目,让用户使用 Twitter 的 OpenID :(
-
在 Twitter 上对 OpenID 没有太多经验,因此可能无法提供帮助。
标签: asp.net tweetsharp hammock