2012-11-30 4 views
0

tweetcurl을 OAuth twitter에 사용하고 직접 메시지를 보냅니다. 모든 키를 설정했습니다 :twitcurl OAuth - 오류 89 : 유효하지 않거나 만료 된 토큰

twitCurl twitterObj; 
    twitterObj.getOAuth().setConsumerKey(t_consumer_key); 
    twitterObj.getOAuth().setConsumerSecret(t_consumer_secret); 
    twitterObj.getOAuth().setOAuthTokenKey(t_access_token); 
    twitterObj.getOAuth().setOAuthTokenSecret(t_access_token_secret); 
    twitterObj.accountVerifyCredGet(); 

The twitterObj.getLastWebResponse(replyMsg); return error 89: 
    <error code="89">Invalid or expired token</error> 

사용자 이름/암호 대신 액세스 토큰을 사용하여 Oauth에 액세스 할 수 있습니까?

PS :

// #이 IF_FALSE_RETURN (a)는 (! A) { "(TwitterClient를 기록 할 경우 정의 액세스 수준은"읽기, 쓰기 및 직접 메시지 "

답변

0

내가 다음 호출 순서를 사용하는 것입니다 authorizetion failed! "); return;}

twitterCurl->setTwitterUsername(usr); 
    twitterCurl->setTwitterPassword(pwd); 

    twitterCurl->getOAuth().setConsumerKey(twitterConsumerKey); 
    twitterCurl->getOAuth().setConsumerSecret(twitterConsumerSecret); 

    std::string authorizedUrl; 

    IF_FALSE_RETURN(twitterCurl->oAuthRequestToken(authorizedUrl) ); 
    IF_FALSE_RETURN(twitterCurl->oAuthHandlePIN(authorizedUrl) ); 
    IF_FALSE_RETURN(twitterCurl->oAuthAccessToken()    ); 

    twitterCurl->getOAuth().getOAuthTokenKey(accessTokenTwitter); 
    twitterCurl->getOAuth().getOAuthTokenSecret(accessSecretTwitter); 

IF_FALSE_RETURN - 매우 중요합니다. 한 메서드가 false를 반환하면 다음 호출은 true를 반환하고 토큰과 암호를 할당 할 수 있지만 사용자 권한 부여는 실패합니다.