twitter on rails

Post on 13-May-2015

9.153 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Learn how to build a Twitter application on Rails. Fast. Presented at RailsConf 2009 by Michael Bleigh.

TRANSCRIPT

Twitter on RailsMichael Bleigh, RailsConf 2009

Wednesday, May 6, 2009

Wednesday, May 6, 2009

Wednesday, May 6, 2009

What’s the bigf-ing deal?

Wednesday, May 6, 2009

MySpace

Wednesday, May 6, 2009

MySpace

Wednesday, May 6, 2009

Facebook

Wednesday, May 6, 2009

Facebook

Wednesday, May 6, 2009

different?How is

Wednesday, May 6, 2009

Audience.Ben Garney via Flickr

Wednesday, May 6, 2009

Public.

three-B via Flickr

Wednesday, May 6, 2009

Search.

Vitó via Flickr

Wednesday, May 6, 2009

API.

benben via Flickr

Wednesday, May 6, 2009

In Code

Wednesday, May 6, 2009

Search API

Wednesday, May 6, 2009

search_twitter_for('RailsConf').collect{|s| s['text']}

[ "Packing up for #railsconf. Swine flu here we come!", "Putting new strings on some guitars for the #RailsConf music jam”, "Vegas, baby! All the @contrast boys laying into their first drinks...”, ...]

require 'open-uri'require 'json'

def search_twitter_for(query) query = CGI.escape(query) JSON.parse( open("http://search.twitter.com/search.json?q=#{query}").read )['results']end

Wednesday, May 6, 2009

OAuthWednesday, May 6, 2009

TCM Hitchhiker via Flickr

Wednesday, May 6, 2009

There’s a gemfor that.

ArtWerk via Flickr

Wednesday, May 6, 2009

The OAuth Shuffle

• Consumer

• Request Token

• Authorization

• Access!

Wednesday, May 6, 2009

Sign in with Twitter

• Consumer

• Request Token

• Authorize (Just Once)

• Access!

Wednesday, May 6, 2009

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_tokenputs request_token.authorize_url

# go and visit the authorize URL

access_token = request_token.get_access_tokenme = JSON.parse(access_token.get('/account/verify_credentials.json').body)

me['screen_name'] # => 'mbleigh'

gem install oauth --version 0.3.2

Wednesday, May 6, 2009

Caveat OAuth

• The Advisory (no callbacks)

• Solution: One Dev App

• Read/Write Inconsistency

• Solution: Delete and Recreate

Wednesday, May 6, 2009

Rails

Wednesday, May 6, 2009

TwitterAuthgithub.com/mbleigh/twitter-auth

Wednesday, May 6, 2009

TwitterAuth makes Rails Twitter apps

stupid simple.

Wednesday, May 6, 2009

Just enough magic.Steffe via Flickr

Wednesday, May 6, 2009

Livecoding!

Wednesday, May 6, 2009

TwistenersWho actually listens?

Wednesday, May 6, 2009

Application Goals

• Log in via Twitter

• See a list of top mentioners

• Tweet the top three “twisteners”

Wednesday, May 6, 2009

Step 1: Credentials

Wednesday, May 6, 2009

twitter.com/apps

Wednesday, May 6, 2009

Step 2: Template

Wednesday, May 6, 2009

rails -m http://bit.ly/twitter-rails yourapp

Type the Magic Words

Wednesday, May 6, 2009

TwitterAuth

• Engines-based login

• logged_in? and current_user

• user.twitter.get(‘/api/path’)

Wednesday, May 6, 2009

Twitter Template

• helpers for common twitter needs

• instant gratification

Wednesday, May 6, 2009

Step 3: Aggregate

Wednesday, May 6, 2009

Step 4: Share

Wednesday, May 6, 2009

twisteners.heroku.comgithub.com/mbleigh/twisteners

Wednesday, May 6, 2009

@mbleighFollow me:

Wednesday, May 6, 2009

top related