twitterizer OAuthUtility GetAccessToken什么是requestToken和verifier?

时间:2011-03-30 03:14:01

标签: twitter twitterizer

我正在尝试使用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

3 个答案:

答案 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”]);