スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SinatraでTwitterのOAuthを取得する

SinatraでさらっとTwitterのOAuth認証を書きたくなりました。
require 'sinatra/base'
require 'twitter_oauth'

class MyApp < Sinatra::Base
enable :sessions

def get_oauth_client
TwitterOAuth::Client.new(
consumer_key: 'your_consumer_key',
consumer_secret: 'your_consumer_secret'
)
end

get '/' do
client = get_oauth_client
request_token = client.request_token(oauth_callback: 'http://127.0.0.1:9292/callback')
session[:request_token] = request_token.token
session[:request_token_secret] = request_token.secret
redirect request_token.authorize_url
end

get '/callback' do
client = get_oauth_client
begin
access_token = client.authorize(
session[:request_token],
session[:request_token_secret],
oauth_verifier: params[:oauth_verifier]
)
user = client.verify_credentials
"hi #{user["screen_name"]}"
rescue Exception => e
e.message
end
end
end
スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。