Note
The Twitter gem supports OAuth and HTTP Auth (until Twitter deprecates it). OAuth is scary at first, but not once you try it out a little bit. Feel free to read my article on OAuth to get past the scary part. Also, I have created an example app that uses OAuth and the Twitter gem for you to peruse.
Install
$ sudo gem install twitter
Examples
First some OAuth action:
# NOT SHOWN: granting access to twitter on website
# and using request token to generate access token
oauth = Twitter::OAuth.new('consumer token', 'consumer secret')
oauth.authorize_from_access('access token', 'access secret')
client = Twitter::Base.new(oauth)
client.friends_timeline.each { |tweet| puts tweet.inspect }
client.user_timeline.each { |tweet| puts tweet.inspect }
client.replies.each { |tweet| puts tweet.inspect }
client.update('Heeeyyyyoooo from Twitter Gem!')
Now some HTTP Auth action:
httpauth = Twitter::HTTPAuth.new('username', 'password')
base = Twitter::Base.new(httpauth)
base.update('Heeeeyyyyooo from the Twitter Gem')
base.friends_timeline.each { |tweet| puts tweet.text }
Search API Examples
#searches all tweets for httparty
Twitter::Search.new('httparty').each do |r|
puts r.inspect
end
# searches all of jnunemaker's tweets for httparty
Twitter::Search.new('httparty').from('jnunemaker').each do |r|
puts r.inspect
end
# searches all tweets from jnunemaker to oaknd1
Twitter::Search.new.from('jnunemaker').to('oaknd1').each do |r|
puts r.inspect
end
# you can also use fetch to actually just get the parsed response
Twitter::Search.new.from('jnunemaker').to('oaknd1').fetch()
Trends API Examples
Twitter::Trends.current
Twitter::Trends.current(:exclude => 'hashtags')
Twitter::Trends.daily # current day
Twitter::Trends.daily(:exclude => 'hashtags')
Twitter::Trends.daily(:date => Date.new(2009, 5, 1))
Twitter::Trends.weekly # current day
Twitter::Trends.weekly(:exclude => 'hashtags')
Twitter::Trends.weekly(:date => Date.new(2009, 5, 1))
Support
Conversations welcome in the google group and bugs/features over at Github