TwitterAPIのBASIC認証は近々廃止され、今後はOAuth/xAuthにシフトされます。
混乱している開発者も多いと思うので、今回はOAuth対応なTwitterBotを作ることを前提にして、その簡単なやり方を動画に撮ってみました。スクリーンキャストというやつです。
動画の内容
補足: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アカウントのパスワード」と同じ意味を持ちます。ソースコードと一緒に公開しないように注意してください。
これらが漏れてしまうと、アカウントのなりすましが可能です。(ただし、これらだけではアカウント自体の乗っ取りは難しいでしょう)。