2012-07-11 4 views
0

트위터에 트윗을 게시 할 Asp.Net 응용 프로그램이 있습니다. Twitterizer2를 사용하고 있습니다.사용자 토큰이 유효한지 또는 트위터 API를 사용하지 않고

처음으로 사용자가 응용 프로그램을 사용하면 인증을 위해 트위터로 리디렉션됩니다. 그리고 사용자 토큰이 내 응용 프로그램에 저장되므로 사용자가 트위터에 다시 로그인하라는 메시지가 결코 나타나지 않습니다. 정상적으로 작동합니다.

게시하기 전에 사용자 토큰의 유효성을 검사하고 싶습니다 (즉, 유효 토큰 여부). 이 유효성 검사를 수행 할 방법이 있습니까? 그렇지 않은 경우, 또는 (401) -

답변

0

다른 질문에서 토큰의 유효성을 검사하는 코드를 발견했습니다. 트위터 라이저 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 
} 
2

당신은 토큰이 올 경우 확인 HTTP 200 응답합니다

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

에 인증 된 호출을 확인합니다 Verify Credentials API

로 전화를 걸 수 있습니다.

+1

감사합니다. 하지만 어떻게 검증을 위해 트위터에 usertoken (자격 증명)을 전달할 수 있습니까? – shajivk

+0

verify_credentials를 호출 할 때 사용하는 라이브러리를 사용하십시오. 모든 것이 제대로 작동하는지 알려줍니다. –

1

보건 당국의 코드는 나를 위해 작동하지 않았다. 다음은 내가 한 일입니다.

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; 
     } 

    } 
+0

거의 동일한 코드입니다. 차이점은 응답의 성공 또는 실패를 결정한 부분입니다. 어쨌든 지적 해 주셔서 고마워요. – shajivk

+0

네가 너를 복사했는데 나 때문에 제대로 작동하지 않아서 너를 고쳤다. 귀하의 의견이 없으면 나를 위해 더 성가신 일이 될 것입니다. 감사. –