Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

60 lines (50 sloc) 1.965 kb
require 'oauthclient'
# Get your own consumer token from http://friendfeed.com/api/applications
consumer_key = 'EDIT HERE'
consumer_secret = 'EDIT HERE'
request_token_url = 'https://friendfeed.com/account/oauth/request_token'
oob_authorize_url = 'https://friendfeed.com/account/oauth/authorize'
access_token_url = 'https://friendfeed.com/account/oauth/access_token'
STDOUT.sync = true
# create OAuth client.
client = OAuthClient.new
client.oauth_config.consumer_key = consumer_key
client.oauth_config.consumer_secret = consumer_secret
client.oauth_config.signature_method = 'HMAC-SHA1'
client.oauth_config.http_method = :get # FriendFeed does not allow :post
client.debug_dev = STDERR if $DEBUG
# Get request token.
res = client.get_request_token(request_token_url)
p res.status
p res.oauth_params
p res.content
p client.oauth_config
token = res.oauth_params['oauth_token']
secret = res.oauth_params['oauth_token_secret']
raise if token.nil? or secret.nil?
# You need to confirm authorization out of band.
puts
puts "Go here and do confirm: #{oob_authorize_url}?oauth_token=#{token}"
puts "Hit [enter] to go"
gets
# Get access token.
# FYI: You may need to re-construct OAuthClient instance here.
# In normal web app flow, getting access token and getting request token
# must be done in different HTTP requests.
# client = OAuthClient.new
# client.oauth_config.consumer_key = consumer_key
# client.oauth_config.consumer_secret = consumer_secret
# client.oauth_config.signature_method = 'HMAC-SHA1'
# client.oauth_config.http_method = :get # Twitter does not allow :post
res = client.get_access_token(access_token_url, token, secret)
p res.status
p res.oauth_params
p res.content
p client.oauth_config
username = res.oauth_params['username']
puts
puts "Access token usage example"
puts "Hit [enter] to go"
gets
# Access to a protected resource. (user profile)
puts client.get("http://friendfeed-api.com/v2/feedinfo/#{username}?format=json")
Jump to Line
Something went wrong with that request. Please try again.