ruby で TwitterAPI使ってみた
あまりにも更新を放置しすぎたので、なんでもいいからネタを。。 既出すぎますが、自分のメモに。
環境
ruby2.0.0
rbenv 0.4
Ubuntu 12.04.3 LTS
※事前にTwitterのアカウントを取得しておくこと。
$ ruby -v ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux] $ rbenv --version rbenv 0.4.0-55-gcaa4a8e
Twitterのgemをインストール
$ rbenv exec gem install twitter --no-ri --no-rdoc $ rbenv exec gem install oauth get-twitter-oauth-token --no-ri --no-rdoc $ rbenv rehash
Twitterアプリ登録
Twitterにログインし、以下のページでアプリケーション登録申請を行います。
https://dev.twitter.com/apps/new
項目 | 入力内容 |
---|---|
Name | 任意の文字列 |
Description | 任意の文字列 |
Website | 自分のTwitterURL |
CallbackURL | ※省略 |
同意して「Create your Twitter Application」を押下。
今回はSettingタブにある「Application Type」を「Read and Write」にしました。
Consumer key と Consumer secret をメモしておきます。
TwitterのOAuth登録
次のコマンドを実行し、コマンドライン上でTwitterアプリ登録時に取得したConsumer Keyなどを入力。
途中、Couldn't get a file descriptor referring to the console というエラーのようなものが出たので、
指示に従ってブラウザから
http://api.twitter.com/oauth/authorize?oauth_token=XXXXXXXXXXXXXXXX
へ遷移。すると、アプリの利用許可を求める画面が表示されるので、許可すると、PINコードが表示されます。
$ get-twitter-oauth-token Consumer Key: (XXXXXXXXXXXXXXXXXXXXXXXXXX) Consumer Secret: (XXXXXXXXXXXXXXXXXXXXXXXXXX) Couldn't get a file descriptor referring to the console Access here: http://api.twitter.com/oauth/authorize?oauth_token=XXXXXXXXXXXXXXXXXXXXXXXXXX and... PIN: (1234567) Token: (XXXXXXXXXXXXXXXXXXXXXXXXXX) Secret: (XXXXXXXXXXXXXXXXXXXXXXXXXX)
TokenとSercretがコマンドラインに表示されるので、メモしておきます。
ツイートしてみる
tweet_sample.rb
require 'twitter' Twitter.configure do |cnf| cnf.consumer_key = "XXXXXXXXXXXXXXXXXXXXXXXXXX" cnf.consumer_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXX" cnf.oauth_token = "XXXXXXXXXXXXXXXXXXXXXXXXXX" cnf.oauth_token_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXX" end Twitter.update("Tweet From Ubuntu Local !!")
スクリプトを実行し、Twitterタイムラインに投稿されていたらOK!
その他の使用法などはここ↓を参照。