我有一个Asp.Net应用程序,它将在Twitter上发布推文。 我使用Twitterizer2来做这件事。
当用户首次使用该应用程序时,他将被重定向到twitter进行身份验证。 然后用户令牌将存储在我的应用程序中,这样用户将永远不会再被要求登录到Twitter。 这很好。
现在我想在发布之前验证用户令牌(即有效令牌是否有效)。有没有办法做这个验证?
答案 0 :(得分:2)
进行经过身份验证的调用
https://api.twitter.com/1/account/verify_credentials.json
如果令牌是正确的,它将以HTTP 200 OK响应 - 如果不是,则将响应401.
答案 1 :(得分:1)
MoH的代码对我不起作用。这是我做的:
public bool IsTwitterAccessTokenValid(String access_token, String token_secret)
{
Twitterizer.OAuthTokens token = new Twitterizer.OAuthTokens();
token.ConsumerKey = this.TwitterConsumerKey;
token.ConsumerSecret = this.TwitterConsumerSecret;
token.AccessToken = access_token;
token.AccessTokenSecret = token_secret;
TwitterResponse<TwitterUser> twitterResponse = TwitterAccount.VerifyCredentials(token);
if (twitterResponse.Result == RequestResult.Success)
{
return true;
}
else
{
return false;
}
}
答案 2 :(得分: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
}