【问题标题】:twitterizer OAuthUtility GetAccessToken what are requestToken and verifier?twitterizer OAuthUtility GetAccessToken requestToken 和验证器是什么?
【发布时间】:2011-03-30 03:14:01
【问题描述】:

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

【问题讨论】:

    标签: twitter twitterizer


    【解决方案1】:

    抱歉,我不知道 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 发出的每个请求。

    【讨论】:

    • 我是 Twitterizer 的作者,我赞同这个答案。 :D
    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-12-23
        • 2012-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-11
        • 1970-01-01
        • 2011-10-26
        • 1970-01-01
        相关资源
        最近更新 更多