我想使用带有'TwitterOAuth'的asp.net登录twitter。我已经添加了对TwitterOAuth的引用.Default.aspx页面包含登录按钮
<a href='http://twitter.com/oauth/authorize?<%=GetUrlParamters()%>'>Login with Twitter</a>
和default.aspx.cs包含
namespace TwitterOAuth.Web.UI
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void OnBtnTwitterLoginClick(object sender, EventArgs e)
{
}
protected string GetUrlParamters()
{
ITwitterOAuthManager oAuthManager = new TwitterOAuthManager();
return oAuthManager.GetUrlParameters();
}
}
}
和web.config文件有
<add key="Tw-ApiKey" value="your consumer key here"/>
<add key="Tw-AppSecret" value="your consumer secret here"/>
<add key="Tw-RedirectUri" value="Twit.aspx"/>
在appsetting节点中。 当我运行这个应用程序时,我收到错误'远程服务器返回错误:(401)未经授权'。
答案 0 :(得分:0)
我已经检查了您正在使用的TwitterOAuth库的来源,并使用Fiddler跟踪了Web请求,我不相信它正在生成正确的签名。
首先,图书馆会向http://twitter.com/oauth/request_token发送请求,并根据此网址生成签名。但是,此请求会重定向到https://twitter.com/oauth/request_token,并且签名对新网址无效。
我会尝试使用其他库,例如建议的here。