我正在尝试在我的 asp.net mvc 3 应用程序中实现 tweetsharp,但我遇到了问题。
我创建了一个具有以下设置的新 Twitter 应用程序:
- 申请网址:http: //127.0.0.1 :8545/
- 类型:浏览器
- 回调地址:无
- 访问类型:读/写
然后,我使用了他们网站上提供的示例,并进行了一些小改动:
public ActionResult Twitter()
{
TwitterService service = new TwitterService("key", "secret");
OAuthRequestToken requestToken = service.GetRequestToken("http://127.0.0.1:8545/Membership/TwitterOAuth");
var uri = service.GetAuthorizationUri(requestToken);
return new RedirectResult(uri.ToString(), false /*permanent*/);
}
public ActionResult TwitterOAuth(string oauth_token, string oauth_verifier)
{
var requestToken = new OAuthRequestToken { Token = oauth_token };
TwitterService service = new TwitterService("key", "secret");
OAuthAccessToken accessToken = service.GetAccessToken(requestToken, oauth_verifier);
service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret);
TwitterUser user = service.VerifyCredentials();
return RedirectToAction("Index", "Home");
}
每当我运行他的代码时,我都会被重定向到以下 Twitter URL:https ://api.twitter.com/oauth/authorize?oauth_token= ?
以前有人经历过吗?
编辑
看来问题出在应用程序的设置方式上。由于我没有提供回调 url,应用程序被自动保存为客户端而不是浏览器应用程序。一旦我添加了回调 url,代码就可以正常工作。