如何使用cURL更新Twitter?

时间:2010-01-27 22:17:59

标签: bash curl twitter

我希望使用cURL更新twitter。我写了一个bash函数,但我不知道如何让它接受一行作为参数用作状态文本。当前函数只接受第一个单词作为参数。另外,我可以阻止它返回XML文件或禁止它转到stdout吗?

#!/bin/bash
function tweet {
  curl -s -u username:password -d status="$1" http://twitter.com/statuses/update.xml
}

PS - 我知道还有其他问题:关于SO的cURL和Twitter但没有人回答我的问题。

5 个答案:

答案 0 :(得分:3)

是的,是的。在bash中,您希望使用$ *而不是$ 1。要禁止任何内容转到stdout,只需将其重定向到/ dev / null即可。所以,你的代码看起来像:

#!/bin/bash
function tweet {
  curl -u username:password -d status="$*" http://twitter.com/statuses/update.xml > /dev/null
}

更新

正如已经指出的那样,由于对twitter的身份验证方法的更改,这将不再有效。我会因为历史原因留在这里。

答案 1 :(得分:2)

这是一个将发布到Twitter的当前正在运行的bash脚本:

http://web.archive.org/web/20140625220735/http://360percents.com/posts/command-line-twitter-status-update-for-linux-and-mac/

使用curl用bash编写。在Ubuntu上完美运行!

答案 2 :(得分:1)

随机猜测:在bash中输入命令时,您是否尝试将第一个命令行arg放在“”中,以便将整个帖子分组为$ 1?这适用于一些炮弹。

答案 3 :(得分:0)

也许你只需要创建一个变量并在twitter上发布它。 我通过以下代码发布了当前的ip: http://www.commandlinefu.com/commands/view/3909/tweet-my-ip-see-your-machine-ip-on-twitter-

答案 4 :(得分:0)

使用Twitter发送推文,您需要 post_authenticity_token 以及 用户名 密码 < / strong>即可。 这个令牌可以通过使用curl获取(在您使用curl登录后)从您的个人资料页面获取。我尝试了卷曲,并能够使用卷曲发推文。你可以找到我的代码 http://pastebin.com/a5eBcEeP