我想编写一个Ruby应用程序,通过它:
- 我可以提交推文到Twitter。
- 我可以提交一篇帖子到Facebook。
- 我可以管理推文的实时统计数据。
是否有适用于Ruby的Twitter/Facebook API?
推文流:
Tweetmon是一个很好的宝石,可以实时跟踪推文。下面是使用它来获取特定关键词的推文流的示例。
#!/usr/local/bin/ruby
if ARGV.size==1
keyword = ARGV.shift
else
puts 'tweetmon usage: tweetmon <keyword>'
exit 1
end
require 'yaml'
require 'rubygems'
require 'tweetstream'
config = YAML::load(File.open(File.expand_path('~/.twitter')))
user =config['username']
password =config['password']
TweetStream::Client.new(user,password).track(keyword) do |status|
puts "[#{status.created_at}-#{status.user.screen_name}] #{status.text}"
end
要使用这个 gem,你需要:
gem sources -a http://gems.github.com
gem install intridea-tweetstream
提交一条推文只需要进行 HTTP POST 请求- 不需要任何额外的库来完成此操作。
如果您倾向于更多地控制如何使用Twitter和Facebook API,可以使用Wrest gem。
请查看Facebook(http://is.gd/bJspX)和Twitter(http://is.gd/bJsqV)的示例。
此外,尽管Twitter和Facebook API都是HTTP API,但它们并不符合RESTful的要求,尽管它们声称自己是。
还有两个尚未提到的库:
MiniFB https://github.com/appoxy/mini_fb非常适合Facebook API。但是在这两个API中,您都可以通过HTTPParty和OAuth完成所有操作。
sudo gem install tweetstream
;如果您遇到无法找到宝石包的错误,请尝试运行gem sources -a "http://gemcutter.org"
。 - sarahhodne