【问题标题】:Check User Tokens are valid or not using Twitter Api使用 Twitter Api 检查用户令牌是否有效
【发布时间】:2022-02-24 14:33:10
【问题描述】:

我有一个 Asp.Net 应用程序,可以在 twitter 上发布推文。 我正在使用 Twitterizer2 来执行此操作。

当用户第一次使用应用程序时,他将被重定向到 twitter 进行身份验证。 然后用户令牌将存储在我的应用程序中,这样用户就不会再次被要求登录 Twitter。 这工作正常。

现在我想在发布之前验证用户令牌(即是否有效令牌)。有没有办法做这个验证?

【问题讨论】:

    标签: c# asp.net twitter twitterizer


    【解决方案1】:

    您可以拨打Verify Credentials API

    进行经过身份验证的调用

    https://api.twitter.com/1/account/verify_credentials.json 
    

    如果令牌正确,它将以 HTTP 200 OK 响应 - 如果不正确,它将响应 401。

    【讨论】:

    • 谢谢特伦斯。但是如何将用户令牌(凭据)传递给 twitter 进行验证?
    • 使用您使用的任何库来调用 verify_credentials - 它会告诉您是否一切正常。
    【解决方案2】:

    MoH 的代码对我不起作用。这是我所做的:

    public bool IsTwitterAccessTokenValid(String access_token, String token_secret)
        {
            var token = new Twitterizer.OAuthTokens();
            token.ConsumerKey = this.TwitterConsumerKey;
            token.ConsumerSecret = this.TwitterConsumerSecret;
            token.AccessToken = access_token;
            token.AccessTokenSecret = token_secret;
    
            var twitterResponse = TwitterAccount.VerifyCredentials(token);
    
            return (twitterResponse.Result == RequestResult.Success);
        }
    

    【讨论】:

    • 几乎相同的代码,唯一的区别是您从响应中确定成功或失败的位置。无论如何,感谢您指出这一点。
    • 是的,我复制了你的,因为它对我不起作用,所以我修改了它。没有你的意见,对我来说会更麻烦。谢谢。
    【解决方案3】:

    我在另一个问题中找到了验证令牌的代码。 Twitterizer Api 本身具有验证用户令牌的方法。 代码如下:

    Twitterizer.OAuthTokens token = new Twitterizer.OAuthTokens();
    token.ConsumerKey = this.AppId;
    token.ConsumerSecret = this.AppSecret;
    token.AccessToken = userToken;
    token.AccessTokenSecret = userSecret;
    
    Twitterizer.TwitterResponse<Twitterizer.TwitterUser> response =
        Twitterizer.TwitterAccount.VerifyCredentials(token);
    
    if (String.IsNullOrEmpty(response.ErrorMessage))
    {
        //This is a valid token
    }
    else
    {
        //Invalid token
    }
    

    【讨论】:

      猜你喜欢
      • 2021-08-06
      • 2020-06-05
      • 1970-01-01
      • 2022-10-20
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-09
      相关资源
      最近更新 更多