2012-11-30 43 views
0

我使用twitcurl來發送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:訪問級別爲 「讀,寫和直接的信息」

回答

0

我用下一個調用序列:

//#定義IF_FALSE_RETURN(a)如果(一個!){日誌(「TwitterClient的授權失敗!「);返回;}

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並分配令牌和祕密,但用戶授權失敗。

相關問題