Twitter API + OAuth:无法发送状态更新,收到 401

2023-12-30

我正在尝试使用 Twitter 的 API 和 OAuth 发送状态更新(新推文)。我正在使用 Shannon Whitley .NET 代码示例http://www.voiceoftech.com/swhitley/?p=681 http://www.voiceoftech.com/swhitley/?p=681(按照 Twitter API 文档中的建议)。我可以使用 OAuth 很好地读取 (GET),但是当我尝试通过 http://twitter.com/statuses/update.xml (使用 POST)发送状态更新时,它会返回带有以下 XML 的 401:

<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <request>/statuses/update.xml</request>
  <error>Read-only application cannot POST</error>
</hash>

我发誓我已经将我的应用程序设置为使用读取和写入,Twitter 的授权页面 (http://twitter.com/oauth/authorize) 甚至说“应用程序 TweeVerbs.com(开发)希望能够访问和更新你在 Twitter 上的数据。”

但它仍然显示“只读应用程序无法 POST”。 WTF!?

我用谷歌搜索了这个错误消息,直到我脸色发青。我发现某处说要添加查询字符串参数oauth access_type=写入到我已经完成的 Twitter 授权页面的重定向 URL,但它仍然给我一个 401。


如果有帮助,以下是根据 OAuth 工作流程来回发送的数据:

请求授权令牌:

http://twitter.com/oauth/request_token?oauth_consumer_key=tViV8vAt4cqSKbGdPGWT7Q&oauth_nonce=2790042&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1244567068&oauth_version=1.0&oauth_signature=KzxcXN%2bQ 0AJoAJ%2flQfzs8SLjC%2fQ%3d

生成的授权重定向 URL:

http://twitter.com/oauth/authorize?oauth_token=EpyBg3nJGOmtmBjRUAsqqaGHARb2F2F2VcccqHkwio&oauth_access_type=write

授权屏幕消息: “应用程序 TweeVerbs.com(开发)希望能够访问和更新您在 Twitter 上的数据。该应用程序计划在将来使用 Twitter 让您登录。如果您想连接到除 Sironfoot 之外的帐户,请退出”。

获取访问令牌:

http://twitter.com/oauth/access_token?oauth_consumer_key=tViV8vAt4cqSKbGdPGWT7Q&oauth_nonce=2016804&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1244567166&oauth_token=EpyBg3nJGOmtmBjRUAsqqaGHARb2 F2F2VcccqHkwio&oauth_version=1.0&oauth_signature=%2bEVQUxUPLT%2b%2bkfaG0Vq1YJZXcAw%3d

状态更新 API 调用: URL- http://twitter.com/statuses/update.xml发布数据- oauth_consumer_key=tViV8vAt4cqSKbGdPGWT7Q&oauth_nonce=5707692&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1244567268&oauth_token=19130957-nb89DjZhjCAzcbHUa96yRWHqlQFQIJ0 AKyXpqnHt1&oauth_version=1.0&status=HelloWorld&oauth_signature=WqA%2bWY0IxveeSJ7G3Ewy3whh1sE%3d


我不知道问题是什么,但我删除了 Twitter 上的应用程序注册(您必须在 Twitter 中注册应用程序才能获取 OAuth 密钥等),然后重新创建它。现在效果很好。奇怪,可能是 Twitter 出了问题。

我也在使用 Tweetsharp (http://tweetsharp.com/ http://tweetsharp.com/),强烈推荐它,它有一个很好的流畅的 API。注意:切换到 Tweetsharp 并不能解决问题,我已经切换并遇到了同样的问题,直到我在 Twitter 上删除并重新创建了应用程序注册。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Twitter API + OAuth:无法发送状态更新,收到 401 的相关文章

随机推荐