我刚刚在我的 Linux 主机上编译了 QTweetLib。我已编译并运行 pinauthstatusupdate 示例,没有任何更改。但是当我尝试获取 request_token 时,我得到了:
Failed to validate oauth signature and token
我在主机上同步了时间:
using sudo ntpdate pool.ntp.org
但没有变化...
我使用 Twitter 为我的应用程序创建的 key 更改了消费者 key 。但我也遇到了同样的问题。
我使用 http://quonos.nl/oauthTester/ 检查了基本字符串它说我的基本字符串没问题。
这是 QTweetLib 创建的原始 header :
OAuth oauth_consumer_key="YImPrR11sLxv0ZjjKAskA",oauth_signature_method="HMAC-SHA1",oauth_signature="WQnBaTgyuU6HkPT7DqTkNK1MT5c%3D",oauth_timestamp="1325542113",oauth_nonce="J5oUsjoOE34e1iTE",oauth_version="1.0"
那么问题出在哪里呢?
最佳答案
根据 QTweetLib 的自述文件,它仅支持 xAuth。您的 Twitter 应用程序 xAuth 启用了吗?如果没有,您需要通过向 api@twitter.com 发送电子邮件并说明不能仅使用 OAuth 的一些正当理由来请求为您的应用程序启用它。
您看过 KQOAuth (http://www.d-pointer.com/solutions/kqoauth/) 吗?它通过利用环境的 Web 浏览器和临时本地 Web 服务器来支持“正常”OAuth。我想我在某处读到它可能会以某种形式集成到 Qt5 中,因此它可能是比 QTweetLib 更安全的选择。
关于linux - QTweetLib 和 request_token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8703972/