如何使用终端发推文?


8

我想使用终端发布一条消息。

我尝试了类似的东西:

curl -u 'TwitterUsername':'TwitterPassword' -d status=”Your Message Here https://twitter.com/statuses/update.xml

但似乎这不再起作用了。

我收到这样的错误:

<?xml version="1.0" encoding="UTF-8"?>
    <errors>
    <error code="53">Basic authentication is not supported</error>
</errors>

那么,我们怎么从终端上发推文呢?

PS .:我这样做的动机是因为我经常使用Yakuake终端,所以从那里发推文真棒。

Answers:


10

此错误消息是因为Twitter需要OAuth进行身份验证。如果您不介意Perl应用程序,请看一下TTYtter

Noooo,不是另一个Twitter客户!是的,另一个Twitter客户端。此处的区别是您要处理的是功能齐全的100%纯文本的Perl命令行客户端。

  • 在交互模式下,它是具有异步后台更新和命令的完全交互的客户端。通过telnet,ssh或虚拟终端使用它。支持流API,ANSI颜色,UTF-8,主题标签和Twitter搜索!
  • 在您喜欢的环境中工作:使用兼容的readline库(例如我们自己定制的Term :: ReadLine :: TTYtter),或为许多流行的窗口和会话管理器修改提示和输入方法。或不:内置基本的编辑和屏幕管理功能。
  • 在命令行中,使用它来以Shell脚本,cron等方式更新Twitter。
  • 安全性:在用户代理支持的情况下,支持Twitter OAuth和HTTP基本身份验证以及SSL。
  • Growl和libnotify的通知支持(并可通过API扩展到其他人)。
  • 地理位置支持:针对任何应用,将您的GPS坐标交给TTYtter。
  • 列表支持,包括快速创建和修改,以及将列表与时间线合并为“自定义时间线”。
  • 支持类似Twitter的API,例如StatusNet和Identi.ca。
  • 支持标准时间轴,并自动获取直接消息以及可选的答复/提要,并针对Search API运行查询并将其也纳入您的时间轴。
  • 新旧转推支持。
  • 编写并使用您自己的自定义扩展!
  • 在-daemon模式下运行分离,并创建自己的Twitter机器人!

TTYtter已被弃用。oysttyer现在在继续发展。


2
TTYtter +1。我不是Twitter的忠实拥护者,但绝对是更好的客户之一。与TTYtter相比,Irssi插件的功能并不强大。
polemon

6

尝试牛逼。非常强大,易于使用并且用Ruby编写。

例如,您可以通过执行以下命令直接从终端发布:

t update "I'm tweeting from the command line."

5

2016更新

有一个名为Twurl的项目-Twitter API的启用OAuth的curl:

Twurl就像curl一样,但是是专门为Twitter API量身定制的。它知道如何将访问令牌授予指定用户的客户端应用程序,然后使用该访问令牌对所有请求进行签名。

它还提供了其他开发和调试便利,例如为常见请求定义别名,以及支持多个访问令牌,以便在不同的客户端应用程序和Twitter帐户之间轻松切换。

而不是这个问题:

curl -d status="Your Message Here" https://twitter.com/statuses/update.xml

您使用类似这样的东西:

twurl -d status="Your Message Here" /1.1/statuses/update.json

按照自述文件中的说明首先授权自己之后。

(请注意,您不必像使用curl那样在URL中使用协议和主机名)

该程序最初由当时在Twitter上工作的Marcel Molina编写,现在 GitHub上的官方Twitter项目

许多人都在专门询问如何使用curl来使用Twitter API,而twurl可能是当今最接近curl的地方。


2

尝试twidge

sudo apt install twidge
twidge setup
twidge update "Trying tweeting from linux command line - twidge."

1
仅供参考,旧版本回购协议(Debian Wheezy)中的twidge版本使用的是现在已过时的v1 Twitter API。新版本的twidge效果很好。
cherdt

1

看看Rainbow Stream-聪明/漂亮,用Python编写。它提供了一个彩虹壳,可以从

$ rainbowstream

在应用程序内部,使用以下命令很容易更新状态

[@yourTwitterName]: t tweeting from #rainbowstream

有趣的软件。但是您可以举一个如何直接从控制台发推文的示例吗?由于问题是关于直接从控制台发推文。
拉斐尔·阿伦斯

1

我已经创建了一个Twitter客户端,可以从命令行进行鸣叫,如Software Recommendations所述

推文

java -jar EmailTweetor.jar tweet hello.txt

要么

echo "Hello" | java -jar EmailTweetor.jar tweet

要鸣叫图像:

java -jar EmailTweetor.jar tweet hello.txt image.jpg

桌面版EmailTweetor

启动命令的计算机将需要具有OpenJDK或Oracle Java v1.8或更高版本。JAR还需要Twitter的一次性授权。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.