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 的相关文章

  • 如何从代码中隐藏 div (c#)

    我的页面上有一个 div 元素 我希望根据代码隐藏中的会话值显示 隐藏该元素 我怎样才能做到这一点 给div runat server and an id你可以在你的code behind div 在后面的代码中 theDiv Visibl
  • 使用 .Net HttpListener 进行多线程

    我有一个听众 listener new HttpListener listener Prefixes Add http 8077 listener Start listenerThread new Thread HandleRequests
  • 如何在 OpenCV 中将 Float Mat 写入文件

    我有一个矩阵 Mat B 480 640 CV 32FC1 包含浮点值 我想将此矩阵写入一个可以打开的文件Notepad https en wikipedia org wiki Windows Notepad or 微软Word https
  • 可空可选参数

    我在 asp net mvc 应用程序中使用带有 edmx 文件和 POCO 的实体框架 4 首先 我有一个映射到数据库中的表的人员类 public class Person public Int32 ID get set public s
  • 在 VS 扩展性演练中,Guid 应包含 32 位数字和 4 个破折号 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

    我正在使用演练 第 1 部分 创建基本项目系统与网站上所写的完全一样http msdn microsoft com en us library cc512961 aspx http msdn microsoft com en us libr
  • 对于任何真实数据集,数据压缩比的最小可能值是多少

    我在写信ZLIB类似于嵌入式硬件压缩器的 API 它使用 deflate 算法来压缩给定的输入流 在进一步讨论之前 我想解释一下数据压缩率 数据压缩率定义为未压缩大小与压缩大小之间的比率 压缩比通常大于一 这意味着压缩数据通常比未压缩数据小
  • 具有未指定长度数组的 PInvoke 结构

    C 定义 typedef struct const uint8 t buf int bufLen Info int Foo Info info C 定义 StructLayout LayoutKind Sequential public s
  • if constexpr 与 sfinae

    随着引入if constexpr in c 17 通过使用编译时 SFINAE 解决了一些问题c 14 c 11现在可以使用解决if constexpr 具有更简单的语法 例如 考虑以下编译时递归的基本示例 以生成打印可变数量参数的子例程
  • 如何获取 Visual Studio 的“发布”功能以包含生成后事件中的文件?

    我目前正在尝试使用 Visual Studio 2010 发布 和 MSDeploy 功能来处理我的 Web 部署需求 但在根据我的构建配置自定义包方面遇到了障碍 我在 32 位环境中开发 但需要为 64 位环境创建发布包 因此在 发布 配
  • Facebook C# SDK 从 V5 迁移到 V6

    我正在尝试从 SDK 的 V5 3 2 迁移到 V6 我有一个 ASP NET 4 0 Canvas 应用程序 我注意到现在不再有 facebook web dll 我以前使用过 并找到了以下信息 gt 删除 Facebook Web dl
  • 什么更快?

    如果我们有以下 2 个 C 代码片段可以完成相同的任务 int a b somenumber while b gt 0 a b 3 b 3 or int b somenumber while b gt 0 int a b 3 b 3 我对计
  • 如何在 Unix 控制台或 Mac 终端中编译和运行 C/C++ 代码?

    如何在 Unix 控制台或 Mac 终端中编译 运行 C 或 C 代码 如果是一个简单的单源程序 make foo 源文件在哪里foo c foo cpp等等 你甚至不需要 makefile Make 有足够的内置规则将源文件构建为同名的可
  • Linq 选择行,其中日期在当月

    我需要获取当月的数据 一直无法找到有效的解决方案 这是我的代码 它为我提供了所需的数据 但我获取的是整整一个月前的数据 而不是当前月份的数据 我选择了两次日期 限制 row gt DateTime Today Addmonths 1 有任何
  • 在 C# 中创建我的对称密钥

    一直在审查一些对称加密方法 我看到了很多在类中硬编码私有静态变量的示例 通常类似于 string key THISISYOURENCRYPTIONKEY 然后在更远的地方 代码使用它来加密 解密 抛开正确的实现 算法 策略以及存储它的位置
  • 在第 i 个位置切换一点[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 C 中设置 清除和切换单个位 https stackoverflow com questions 47981 how do you set clear and toggle a single
  • 从文本文件中读取行并存储到数组中

    如何从文本文件中读取行并将其存储到数组中 例如 我有一个包含 45 行不同行的文本文件 我的尝试 int main int a 45 ifstream myfile enroll assg txt if myfile cout lt lt
  • 使用表达式参数专门化模板

    我有一堂这样的课 template
  • 为什么我们从 MultiByte 转换为 WideChar?

    我习惯于处理 ASCII 字符串 但现在使用 UNICODE 我对一些术语感到非常困惑 什么是多字节字符以及什么是widechar有什么不同 多字节是指在内存中包含多个字节的字符吗 widechar只是一个数据类型来表示吗 为什么我们要从M
  • Nunit 测试给出结果 OneTimeSetUp: 未找到合适的构造函数

    我有一个问题 NUnit 告诉我 没有找到合适的构造函数 这是什么原因造成的 我还收到另一条消息 异常没有堆栈跟踪 这两条消息只是一遍又一遍地重复 这是我的代码 TestFixture public class SecurityServic
  • 在c#中搜索支持rar格式的压缩库

    我想在我的应用程序中添加功能来解压缩 并可选择压缩 各种格式的文件 我有支持 zip gzip 7zip 和 bzip2 的库 但还是没有找到支持rar的库 我知道 rar 是商业的 但也许有一些 net 库可用于解压缩 rar s 最好是

随机推荐