ブログトップ 記事一覧 ログイン 無料ブログ開設

床のトルストイ、ゲイとするとのこと

2010-05-05

8分21秒で分かるRubyとOAuthによるTwitterAPIの使い方(動画)

TwitterAPIのBASIC認証は近々廃止され、今後はOAuth/xAuthにシフトされます。

混乱している開発者も多いと思うので、今回はOAuth対応なTwitterBotを作ることを前提にして、その簡単なやり方を動画に撮ってみました。スクリーンキャストというやつです。

D

動画の内容

補足:AccessToken発行に使用したスクリプト

動画の中で、AccessTokenの発行に、俺が書いたスクリプトを使っています。

これです。

http://gist.github.com/388067

require 'twitter_oauth'

print 'Consumer Key> '
consumer_key = gets.chomp

print 'Consumer Secret> '
consumer_secret = gets.chomp

t = TwitterOAuth::Client.new(
  :consumer_key => consumer_key,
  :consumer_secret => consumer_secret
)

req = t.request_token

puts 'OK'
puts "please access and get PIN: #{req.authorize_url}"
print 'PIN> '
pin = gets.to_i

acc = t.authorize(
  req.token,
  req.secret,
  :oauth_verifier => pin
)

puts "Authorized:    #{t.authorized?}"

puts "Access Token:  #{acc.token}"
puts "Access Secret: #{acc.secret}"

補足:セキュリティについて

動画中ではConsumer KeyとかAccess Tokenのセキュリティ的な意味合いについて説明していません。

動画中ではテスト用に登録したアプリケーションなので、漏れてしまっても問題ありませんでした(動画で作成したアプリケーションはもう削除していますし)。しかしこれは特別な場合だったためです。

詳しい説明は他の文献に任せますが、これらは本来公開してはいけません。

古い言い方に置き換えると、Consumer Key/Secretは「アプリケーションのパスワード」、Access Token/Secretは「(アプリに対する)Twitterアカウントのパスワード」と同じ意味を持ちます。ソースコードと一緒に公開しないように注意してください。

これらが漏れてしまうと、アカウントのなりすましが可能です。(ただし、これらだけではアカウント自体の乗っ取りは難しいでしょう)。

補足:ライブラリについて

今回は、twitter_oauth というgemライブラリを使っています。

このライブラリは、APIの網羅性が高く、頻繁にメンテナンスされており、今後に期待ができます。

いまRubyでTwitter APIをさわるなら、個人的にはもっともオススメのライブラリです。

つい最近、Ruby1.9でも動くようになりました(oauth-0.4.0以降)。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/mirakui/20100505/1272961897