代码之家  ›  专栏  ›  技术社区  ›  Pure.Krome

如何使用curl(或任何命令行工具)通过OAuth身份验证向twitter发布HTTP?

  •  12
  • Pure.Krome  · 技术社区  · 14 年前

    我希望使用命令行应用程序,比如 cURL ,对我的测试twitter帐户做一些测试文章。我还希望通过OAuth身份验证完成此操作。

    我该怎么做?假设我已经在Twitter上创建了一个应用程序,并收到了我的密钥和东西。

    (另外,请确保在命令行中指定要使用的密钥以及在何处等)。

    最后,我在(未受过教育的)假设下,使用一条命令行是可能的。

    5 回复  |  直到 13 年前
        1
  •  11
  •   npdoty    14 年前

    好吧,你不是唯一希望他们能用一个简单的 curl 命令。你可以看看 oauth-proxy 它在您自己的计算机上设置一个HTTP代理,并为令牌和机密设置适当的参数。然后使用该代理的任何请求(如 卷曲 例如,命令,甚至配置为使用它的Web浏览器)将自动使用所有适当的OAuth参数进行签名。

    赛斯的演练甚至包括了twitter的例子,所以你应该能够一步一步地遵循这些说明(假设twitter的oauth与09年9月的操作方式相同)。

    这并不像单行那么简单,因为它需要安装一些软件和至少一个用于设置代理的附加命令。但它至少应该实现允许简单的单行测试的目标 卷曲 一旦一切就绪。

        2
  •  3
  •   jonathanberi    14 年前

    Twitter实际上推出了一个经过修改的curl call版本 Twurl . 它是一颗红宝石,可以满足你的需要。

        3
  •  2
  •   John Feminella    14 年前

    我想你一枪也做不到。OAuth要求您在发出状态请求时使用令牌进行响应,这将超出一行的范围。 curl 请求。

    你可以用一个简单的库来代替 Twitter Ruby gem 可以在命令行接受参数,然后生成适当的结果。

        4
  •  0
  •   Joe Nelson    13 年前

    要记住的一点是,您实际上不需要使用OAuth。虽然Twitter确实在2010年9月停止了基本身份验证访问,但仍然有一种方法可以将基本身份验证与curl一起使用。

    这个想法是发送一个用户代理头文件,它诱使Twitter认为curl是一个普通的浏览器。卢卡·普我写道 this script 这向你展示了如何。

        5
  •  -1
  •   Ken Liu    14 年前

    您可以看到不同语言的Twitter API库列表 here . 其中至少有一个与卷曲有关。