16. require 'open-uri'
require 'json'
def search_twitter_for(query)
query = CGI.escape(query)
JSON.parse(
open(quot;http://search.twitter.com/search.json?q=#{query}quot;).read
)['results']
end
search_twitter_for('RailsConf').collect{|s| s['text']}
[
quot;Packing up for #railsconf. Swine flu here we come!quot;,
quot;Putting new strings on some guitars for the #RailsConf music jam”,
quot;Vegas, baby! All the @contrast boys laying into their first drinks...”,
...
]
Wednesday, May 6, 2009
19. There’s a gem
for that.
ArtWerk via Flickr
Wednesday, May 6, 2009
20. The OAuth Shuffle
• Consumer
• Request Token
• Authorization
• Access!
Wednesday, May 6, 2009
21. Sign in with Twitter
• Consumer
• Request Token
• Authorize (Just Once)
• Access!
Wednesday, May 6, 2009
22. gem install oauth --version 0.3.2
require 'oauth'
require 'json'
# register your application at http://twitter.com/apps
consumer = OAuth::Consumer.new(
'mykey','mysecret',
:site => 'http://twitter.com/'
)
request_token = consumer.get_request_token
puts request_token.authorize_url
# go and visit the authorize URL
access_token = request_token.get_access_token
me = JSON.parse(access_token.get('/account/verify_credentials.json').body)
me['screen_name'] # => 'mbleigh'
Wednesday, May 6, 2009
23. Caveat OAuth
• The Advisory (no callbacks)
• Solution: One Dev App
• Read/Write Inconsistency
• Solution: Delete and Recreate
Wednesday, May 6, 2009