我使用 twitcurl 进行 OAuth twitter 并发送直接消息。我设置了所有键:
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>
我可以使用访问 token 而不是用户名/密码进行 Oauth 吗?
PS:访问级别为“读取、写入和直接消息”
最佳答案
我使用下一个调用序列:
//#define IF_FALSE_RETURN( a ) if(!a) { log("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 并分配 token 和 key ,但用户授权失败。
关于c++ - twitcurl OAuth - 错误 89 : Invalid/Expired Token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13641821/