我有一个 Asp.Net 应用程序,可以在 twitter 上发布推文。我正在使用 Twitterizer2 来执行此操作。
当用户第一次使用应用程序时,他将被重定向到 twitter 进行身份验证。然后用户令牌将存储在我的应用程序中,这样用户就不会再次被要求登录 Twitter。这工作正常。
现在我想在发布之前验证用户令牌(即是否有效令牌)。有没有办法做这个验证?
我有一个 Asp.Net 应用程序,可以在 twitter 上发布推文。我正在使用 Twitterizer2 来执行此操作。
当用户第一次使用应用程序时,他将被重定向到 twitter 进行身份验证。然后用户令牌将存储在我的应用程序中,这样用户就不会再次被要求登录 Twitter。这工作正常。
现在我想在发布之前验证用户令牌(即是否有效令牌)。有没有办法做这个验证?
您可以调用验证凭据 API
进行经过身份验证的调用
https://api.twitter.com/1/account/verify_credentials.json
如果令牌正确,它将以 HTTP 200 OK 响应 - 如果不正确,它将以 401 响应。
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);
}
我在另一个问题中找到了验证令牌的代码。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
}