当前位置: 首页 > 编程语言 > C#

TwitterAPI+OAuth:发送状态更新失败,得到401分享

时间:2023-04-10 13:52:14 C#

TwitterAPI+OAuth:发送状态更新失败,得到401我正在尝试使用Twitter的API和OAuth发送状态更新(新推特)。我正在使用ShannonWhitley.NET代码示例http://www.voiceoftech.com/swhitley/?p=681(由TwitterAPI文档推荐)。我可以使用OAuth读取(GET),但是当我尝试通过http://twitter.com/statuses/update.xml(使用POST)发送状态更新时,它返回带有以下XML的401:/statuses/update.xml只读应用程序无法POST我发誓我已经将我的应用程序设置为使用读写,Twitter上的授权页面(http://twitter.com/oauth/authorize)甚至说“应用程序TweeVerbs.com(开发)”希望能够访问和更新您在Twitter上的数据。”但是它仍然说“只读应用程序无法发布”。WTF!?我用谷歌搜索了这个错误消息,直到我脸色发青。我找到了一个地方说要添加查询字符串参数oauth_access_type=write-requestDirectingtheURL,它转到我已经完成的twitter授权页面,但它仍然给我一个401。Ifithelps,here'sthedatasentbackaccordingtotheOAuthworkflow:Requestinganauthorizationtoken:http://twitter.com/oauth/request_token?id=0oauth_consumer_key=tViV8vAt4cqSKbGdPGWT7Q&oauth_nonce=2790042&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1244567068&oauth_version=1.0&oauth_signature=KzxcXN%2bQ0AJoAJ%2flQfzs8SLjC%2fQ%3d生成的授权重定向URL:http://twitter.com/oauth/authorize?oauth_token=EpyBg3nJGOmtmBjRAAsqqaGHARb2F2F2VcccqHkwio&oauth_access_type=writeAuthorizationscreenmessage:"TheapplicationTweeVerbs.com(development)wantstobeable访问和更新您在Twitter上的数据。此应用程序计划在未来使用Twitter登录您。如果您想连接到一个,请注销Sironfoot以外的帐户。“获取访问令牌:HTTP://twitter.com/oauth/access_tokenoauth_consumer_key=tViV8vAt4cqSKbGdPGWT7Q&oauth_nonce=2016804&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1244567166&组oauth_token=EpyBg3nJGOmtmBjRUAsqqaGHARb2F2F2VcccqHkwio&oauth_version=1.0&oauth_signature=%2bEVQUxUPLT%2B%2bkfaG0Vq1YJZXcAw%3D状态更新API调用:URL–HTTP://twitter.com/statuses/update.xmlPOST数据–oauth_consumer_key=tViV8vAt4cqSKbGdPGWT7Q&oauth_nonce=5707692&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1244567268&组oauth_token=19130957-nb89DjZhjCAzcbHUa96yRWHqlQFQIJ0AKyXpqnHt1&oauth_version=1.0&状态=的HelloWorld&oauth_signature=WQA%2bWY0IxveeSJ7G3Ewy3whh1sE%3DDunno问题是什么,但是我删除了我在Twitter上的应用程序注册(您必须在Twitter上注册该应用程序才能获取OAuth密钥等)并重新创建它。现在它工作正常。奇怪,可能是Twitter搞砸了的问题。我也在使用Tweetsharp(http://tweetsharp.com/)并强烈推荐它,它有一个非常流畅的API。注意:切换到Tweetsharp并不能解决问题,我已经切换并遇到了同样的问题,直到我删除并重新创建Twitter上的应用程序注册。如果您在应用程序设置为“只读访问”模式时授权您的应用程序访问您的Twitter帐户,并且在将应用程序设置更改为“读写访问”后您收到“只读应用程序无法发布”错误,您必须在https://twitter.com/settings/connections撤销对应用程序的访问权限,然后重新授权。“只读”access_tokens在您撤销它们之前往往是粘性的。希望这会有所帮助。还要查看您系统的CLOCK是否与互联网同步;在Windows上,您可以通过调整日期时间设置来做到这一点,因为如果您的CLOCK不同步,您将收到401Unauthorized异常;祝您好运,我现在已经尝试了几次但没有成功,我正在从twitter请求accesstoken时出现401exception,我和你一样用Tweetsharp以上是C#学习教程:TwitterAPI+OAuth:Failedtosendstatusupdate,获取401分享的所有内容,如果对大家有用以及需要了解更多C#学习教程的,希望大家多多关注——本文来自网络收集,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: