如何使用终端发推文?

如何使用终端发推文?

我想使用终端发送消息。

我尝试过类似的事情:

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 终端,从那里发推文会很棒。

答案1

这个错误信息是因为Twitter 需要 OAuth 进行身份验证。看一眼打字机如果你不介意 Perl 应用程序:

不,不是另一个 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。
  • 支持标准时间线并自动获取直接消息,并可选择回复/提及,并针对搜索 API 运行查询并将它们合并到您的时间线中。
  • 新老转发支持。
  • 编写并使用您自己的自定义扩展!
  • 在 -daemon 模式下独立运行,并制作您自己的 Twitter 机器人!

TTYtter 已被弃用。现在分叉中的开发仍在继续,牡蛎

答案2

尝试时间。非常强大、易于使用并且用 Ruby 编写。

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

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

答案3

2016年更新

有一个项目叫特沃尔- 适用于 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 编写的,现在是官方 Twitter 项目在 GitHub 上。

许多人都在具体询问如何使用curl 来使用Twitter API,而twurl 可能是您目前可以获得的最接近curl 的方法。

答案4

看一眼彩虹溪流- 智能/美观,用 Python 编写。它提供了一个彩虹壳,可以通过以下方式启动

$ rainbowstream

在应用程序内部,更新状态非常容易

[@yourTwitterName]: t tweeting from #rainbowstream

相关内容