RubyによるTwitterアプリのOAuth登録

RubygemsのOAuthライブラリを使用して、TwitterアプリのOAuth認証の登録を行う手順です。 ここで取得したトークン等を利用することで、OAuth認証を利用したTwitterクライアントを作成することが出来ます。 1. RubygemsのOAuthをインストールする
$ sudo gem install oauth
2. Twiiter側でアプリの登録を行う 認証済みの状態でTwitterの開発者サイト(http://dev.twitter.com/)にアクセスし、Registaer an app でアプリの登録をします。 f:id:sbullet:20110509233515j:image 次に、Register an Applicationという画面で必要な項目を記入します。主な項目は以下の通りです。
項目 説明
Application Name アプリの名前です
Description アプリの説明です。ある程度文字数が無いとエラーになります
Application Website アプリについてのWEB等があればそれを記載します。自分のBlogでもよいでしょう。
Application Type ブラウザから使用するかどうかを指定します。Bot等のアプリの場合はClientになります。
Default Access type 読み取りのみか、更新もするかを指定します。
登録後、設定確認画面でCONSUMER KEYとCONSUMER SECRETを確認します。 f:id:sbullet:20110509234258j:image 3. 以下のプログラムを実行する CONSUMER_KEYとCONSUMER_SECRETは、上記でメモしたものを指定します。
require 'rubygems'
require 'oauth'
CONSUMER_KEY = "xxxxx"
CONSUMER_SECRET = "xxxxxxxxxxxxxx"
consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, :site => "http://api.twitter.com")
request_token = consumer.get_request_token
print "access to #{request_token.authorize_url}\n"
# ここで表示されたURLにアクセスし、アプリからのアクセスを「許可」する
print "input pin: "
oauth_verifier = gets
oauth_verifier.chomp!
access_token = request_token.get_access_token(:oauth_verifier => oauth_verifier )
print "access_token = #{access_token.token}\n"
print "access_secret = #{access_token.secret}\n"
access to の後にURLが表示され、入力待ちとなりますので、表示されたURLにアクセスします。すると、以下のような許可画面が表示されるので、「アプリを認証」します。 f:id:sbullet:20110509234107j:image すると以下のようにPINが表示されるので、コンソールに戻ってPINを入力します。 f:id:sbullet:20110509233950j:image 最後に、ACCESS TOKENとACCESS SECRETが表示されるので、これを記録しておきます。 以上で、 が取得できますので、これらを使ってOAuth認証を実施します。