C++ twitcurl OAuth-错误89:无效/过期的令牌

C++ twitcurl OAuth-错误89:无效/过期的令牌,c++,linux,twitter,twitter-oauth,C++,Linux,Twitter,Twitter Oauth,我使用twitcurl到OAuthTwitter并发送直接消息。我设置了所有键: twitCurl twitterObj; twitterObj.getOAuth().setConsumerKey(t_consumer_key); twitterObj.getOAuth().setConsumerSecret(t_consumer_secret); twitterObj.getOAuth().setOAuthTokenKey(t_access_token); t

我使用twitcurl到OAuthTwitter并发送直接消息。我设置了所有键:

 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>
twitCurl-twitter-obj;
getOAuth().setConsumerKey(t_consumer_key);
getOAuth().setConsumerCret(t_consumer_secret);
getOAuth().setOAuthTokenKey(t_access_token);
getOAuth().setOAuthTokenSecret(t_access_token_secret);
twitterObj.accountVerifyCredGet();
twitterObj.getLastWebResponse(replyMsg);返回错误89:
无效或过期的令牌
我可以使用访问令牌而不是用户名/密码访问Oauth吗


PS:访问级别为“读、写和直接消息”

我使用下一个调用顺序:

//#定义IF_FALSE_RETURN(a)IF(!a){log(“TwitterClient授权失败!”);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);
如果错误返回-非常重要! 如果一个方法返回false,则下一个调用可以返回true并分配令牌和密钥,但用户授权失败