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が表示されるので、これを記録しておきます。

以上で、

  • CONSUMER_KEY
  • CONSUMER_SECRET
  • ACCESS TOKEN
  • ACCESS SECRET

が取得できますので、これらを使ってOAuth認証を実施します。

タイトルとURLをコピーしました