1

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

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

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

4

3 回答 3

2

您可以调用验证凭据 API

进行经过身份验证的调用

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

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

于 2012-07-11T14:37:47.747 回答
1

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);
    }
于 2012-09-04T18:50:25.803 回答
0

我在另一个问题中找到了验证令牌的代码。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
}
于 2012-07-13T11:00:19.853 回答