javascript - Twitter 更新在 QML 中运行时返回 401 Unauthorized,但首次仅在桌面 Java 上运行

标签 javascript twitter oauth qml qt-quick

我正在 Qt Quick/QML 中实现 Twitter 帖子客户端,使用 Javascript 作为应用程序逻辑。

我已成功完成 oAuth 过程的第一步,并获得了 oAuth token 和 key 。

但是发送到 http://api.twitter.com/1/statuses/update.json 对我来说总是失败,返回 401 Unauthorized。

所有帖子都是使用 XMLHttpRequest 完成的,但还没有一个起作用。

我尝试在桌面 Java 程序中复制该场景(复制 Qt 应用程序中使用的相同授权 header 和帖子正文),但结果很奇怪。第一次对任何 Twitter 应用程序进行此尝试时,帖子成功了,我的推文也通过了。该 Twitter 应用程序的后续尝试均会收到 401 未经授权。

如果我随后在 Qt 应用程序中为不同的 Twitter 应用程序生成一个发布授权 header ,并在 Java 程序中尝试,它也只能运行一次。

有人知道这里出了什么问题吗?

另一件事表明我做错了其他事情,我需要将 = 附加到我生成的复合签名 key 中以对基本字符串进行签名(我正在使用 this JS SHA-1 implementation ) 。任何知道为什么会这样的想法也将不胜感激!

最佳答案

您是否为每个请求生成新的 OAuth header ,或者是否在每个请求上重复使用相同的 OAuth header ?

听起来您正在重复使用 header ,这肯定会生成 401 错误。每个请求都需要一个新生成的 OAuth header 。

关于javascript - Twitter 更新在 QML 中运行时返回 401 Unauthorized,但首次仅在桌面 Java 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7094729/

相关文章:

facebook - 在 Hybridauth 中为 Yii 框架配置 Facebook

javascript - Auth0中的id_token和access_token有什么区别

r - R中非UTF-8和ASCII字符twitteR包的问题

javascript - Redux 在到达 reducer 之前检测到状态突变

javascript - 如何在此 jQuery 代码中添加变量?

javascript将图像转换为字节数组

android - 如何使用 Android 在 Facebook 中分享我们自己的静态状态

security - YouTube API v3 - 我真的需要使用 OAuth 进行基本的读取操作吗?

android - Google+ API 和 Google+ Domain API 之间有什么区别?

php - 从 gridview 数据或 mySQL DB 检索行并在 PopUp 中显示