0

我正在尝试使用 twitterizer 将客户的网站与 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

4

3 回答 3

6

抱歉,我不知道 twitterizer 是如何工作的,因为我从未使用过 OAuth 库。但是写了一个...希望这可以帮助您了解 requestToken 和 Verifier 是什么:

Twitter 的开发者网站有一个简单的教程,介绍了使用 OAuth 进行授权时需要发送和接收的内容。你可能想先检查一下这个过程是如何工作的 http://dev.twitter.com/pages/auth

“访问令牌”是 OAuth 的第二部分,验证者令牌位于此请求之前。这是尽可能简单的过程:

从 Twitter ( https://api.twitter.com/oauth/request_token )获取一次性工作 oauth_token

使用传入的令牌构建一个 url,让用户接受/拒绝应用程序。(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 发出的每个请求。

于 2011-04-04T04:22:40.700 回答
1

这应该可以,只需使用 null 或空字符串作为验证器参数。

OAuthTokenResponse tokens = OAuthUtility.GetAccessToken(
    "ConsumerKey",
    "ConsumerSecret",
    Request.QueryString["oauth_token"],
    "");

我也找不到太多关于它的文档,我找到的最好的是:http: //www.twitterizer.net/documentation/html/M_Twitterizer_OAuthUtility_GetAccessToken.htm

它所说的只是验证者是“密码或验证者字符串”。我的猜测是它可能用于使用 pin 号进行验证的桌面应用程序。

于 2012-01-06T11:23:10.783 回答
0

这应该可以,只需使用 null 或空字符串作为验证器参数。试试这个,

OAuthTokenResponse accessTokenResponse = OAuthUtility.GetAccessToken(consumerKey, consumerSecret, Request.QueryString["oauth_token"], Request.QueryString["oauth_verifier"]);

于 2013-07-17T14:11:10.867 回答