我有一個將在twitter上發佈推文的Asp.Net應用程序。 我使用Twitterizer2來做到這一點。檢查用戶令牌是否有效使用Twitter Api
第一次當用戶使用該應用程序時,他將被重定向到Twitter以進行身份驗證。 然後用戶令牌將被存儲在我的應用程序中,以便用戶永遠不會再被要求登錄到Twitter。 這工作正常。
現在我想在發佈之前驗證用戶令牌(即有效令牌)。有沒有辦法做這個驗證?
我有一個將在twitter上發佈推文的Asp.Net應用程序。 我使用Twitterizer2來做到這一點。檢查用戶令牌是否有效使用Twitter Api
第一次當用戶使用該應用程序時,他將被重定向到Twitter以進行身份驗證。 然後用戶令牌將被存儲在我的應用程序中,以便用戶永遠不會再被要求登錄到Twitter。 這工作正常。
現在我想在發佈之前驗證用戶令牌(即有效令牌)。有沒有辦法做這個驗證?
我發現了在另一個問題中驗證令牌的代碼。 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
}
電話撥打一個驗證調用
https://api.twitter.com/1/account/verify_credentials.json
如果令牌是正確它將與HTTP 200 OK響應 - 或401,如果他們不。
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;
}
}
幾乎相同的代碼,唯一不同的是你從響應中確定了成功或失敗的地方。無論如何,謝謝你指出。 – shajivk 2012-09-05 07:57:57
是的,我複製了你的,因爲它不適合我,我修改它。沒有你的投入,對我來說會更麻煩。謝謝。 – 2012-09-06 20:31:40
謝謝Terence。但是,我如何將usertoken(憑證)傳遞給Twitter進行驗證? – shajivk 2012-07-12 09:42:12
使用你正在使用的庫來調用verify_credentials - 這將告訴你,如果一切正常。 – 2012-07-12 13:15:41