我希望使用命令行应用程序(如cURL)对我的测试Twitter帐户进行一些测试。我也希望通过OAuth身份验证来执行此操作。
我怎么能这样做?假设我已经在Twitter上创建了一个应用程序,并收到了我的密钥和内容。
(另外,请确保指定要使用的密钥,以及命令行中的位置等。)
最后,我受到(未受过教育)的假设,即只需一个命令行即可实现。
答案 0 :(得分:11)
嗯,您并不是唯一一个希望他们可以使用简单的curl
命令试用受OAuth保护的API的人。您可以查看oauth-proxy,它在您自己的计算机上设置了一个HTTP代理,其中包含令牌和机密的相应参数。然后,任何使用该代理的请求(例如,curl
命令,甚至是配置为使用它的Web浏览器)都将自动使用所有相应的OAuth参数进行签名。
Seth的演练甚至包括Twitter的例子,所以你应该能够一步一步地遵循说明(假设Twitter的OAuth工作方式与09年9月相同)。
这不像单行那么简单,因为它涉及安装一些软件和至少一个用于设置代理的附加命令。但它应该至少能够实现在设置完成后允许使用curl
进行简单的单行测试的目标。
答案 1 :(得分:3)
Twitter实际上推出了cURL调用Twurl的修改版本。这是一个红宝石的GEM,应该做你需要的。
答案 2 :(得分:2)
我认为你不能一次性完成。 OAuth要求您在发出状态请求时使用令牌进行响应,这超出了单个一行curl
请求的范围。
您可以做的是使用像 Twitter Ruby gem 这样的简单库,它可以在命令行接受参数,然后生成相应的结果。
答案 3 :(得分:0)
要记住的一件事是,您实际上并不需要使用OAuth。虽然Twitter确实在2010年9月停止了基本的身份验证访问,但仍然有一种方法可以使用cURL的基本身份验证。
这个想法是发送一个用户代理标题,让Twitter认为cURL是一个普通的浏览器。 LukaPušić写了this script,告诉你如何。
答案 4 :(得分:-1)
您可以看到不同语言here的Twitter API库列表。其中至少有一个与Curl合作。