c++ - twitcurl OAuth - 错误 89 : Invalid/Expired Token

标签 c++ linux twitter twitter-oauth

我使用 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/

相关文章:

c++ - Eigen 初始化 bool 数组

由 C++ isalpha 查找表

c - Unix 中的 Strace 命令

linux - Linux的选择

ios - 从 iOS 应用程序发推文时卡片不显示包含图像

c++ - 将网络字节顺序(大端)转换为小端

linux - 打印 $i 除非 $i 小于 10。使用 awk 或其他方式

java - 为什么 twitter API 会抛出这个错误?

django - AllAuth 安装

c++ - 找不到 boost 库