我正在尝试使用twitterizer整合客户端的网站w / Twitter。我错误地开始使用旧版本的库,然后更新到新版本(2.3.2)并进行了大量更改。
我的第一个问题是GetAccessToken现在需要更多参数,但我找不到这些参数的任何文档:requestToken和Verifier。有人可以指出我正确的方向吗?
以下是我正在尝试的代码:
string ConsumerKey = System.Configuration.ConfigurationManager.AppSettings["ConsumerKey"];
string ConsumerSecret = System.Configuration.ConfigurationManager.AppSettings["ConsumerSecret"];
OAuthTokenResponse responseToken = OAuthUtility.GetAccessToken(ConsumerKey, ConsumerSecret,);
//Cache the UserId
System.Web.HttpContext.Current.Session["GetCachedUserId"] = responseToken.UserId;
OAuthTokens accessToken = new OAuthTokens();
accessToken.AccessToken = responseToken.Token;
accessToken.AccessTokenSecret = responseToken.TokenSecret;
accessToken.ConsumerKey = ConsumerKey;
accessToken.ConsumerSecret = ConsumerSecret;
System.Web.HttpContext.Current.Session["TwitterAccessToken"] = responseToken.Token;
System.Web.HttpContext.Current.Session["TwitterAccessTokenSecret"] = responseToken.TokenSecret;
System.Web.HttpContext.Current.Session["AccessToken"] = accessToken;
TIA
答案 0 :(得分:6)
抱歉,我不知道twitterizer是如何工作的,因为我从未使用过OAuth库。但写了一个...希望这可以帮助你理解requestToken和Verifier是什么:
Twitter的开发者网站提供了一个简单的教程,介绍了使用OAuth进行授权需要发送和接收的内容。您可能希望首先检查该过程的工作原理 http://dev.twitter.com/pages/auth
“访问令牌”是OAuth的第二部分,验证者令牌位于此请求之前。这个过程尽可能简单:
从Twitter(https://api.twitter.com/oauth/request_token)
获得一次oauth_token工作使用传入令牌构建网址,让用户接受/拒绝申请。 (https://api.twitter.com/oauth/access_token?oauth_token=the_incoming_token)
Twitter给了我们两个新的令牌,一个是ouath_token,另一个是oauth_verifier。有了这两个,我们要求twitter申请授权。 (https://api.twitter.com/oauth/authorize)如果成功,twitter会返回两个新令牌,oauth_token和oauth_token_secret。 这两个需要保存或存储,因为它们将用于我们对twitter的每个请求。
答案 1 :(得分:1)
这应该可行,只需对验证者参数使用null或空字符串。
OAuthTokenResponse tokens = OAuthUtility.GetAccessToken(
"ConsumerKey",
"ConsumerSecret",
Request.QueryString["oauth_token"],
"");
我找不到很多关于它的文档,我找到的最好的是: http://www.twitterizer.net/documentation/html/M_Twitterizer_OAuthUtility_GetAccessToken.htm
并且它说的是验证者是“引脚号或验证字符串”。我的猜测是它可能用于使用引脚号验证的桌面应用程序。
答案 2 :(得分:0)
这应该可行,只需对验证者参数使用null或空字符串。 试试这个,
OAuthTokenResponse accessTokenResponse = OAuthUtility.GetAccessToken(consumerKey,consumerSecret,Request.QueryString [“oauth_token”],Request.QueryString [“oauth_verifier”]);