そんなに難しくないと思った・・・
1.CONSUMER_KEYとCONSUMER_SECRETの取得
アプリの登録を行う
このページから飛んで適当に入力する
2.ユーザに許可してもらいアクセストークンをもらう
スクリプト実行⇒authページ⇒許可を押す⇒数値をメモ⇒スクリプトに入力
#!/usr/bin/env ruby
# coding: utf-8
require 'rubygems'
require 'oauth'
OAUTH_CONSUMER_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXX'
OAUTH_CONSUMER_SECRET='XXXXXXXXXXXXXXXXXXXXXXXX'
consumer = OAuth::Consumer.new( OAUTH_CONSUMER_KEY , OAUTH_CONSUMER_SECRET , {
:site=>"http://twitter.com"
})
#optprm = { :oauth_callback=>"(コールバック先のURL)" }
request_token = consumer.get_request_token
puts "Access this URL and approve => #{request_token.authorize_url}"
print "Input OAuth Verifier: "
oauth_verifier = gets.chomp.strip
access_token = request_token.get_access_token(
:oauth_verifier => oauth_verifier
)
puts "Access token: #{access_token.token}"
puts "Access token secret: #{access_token.secret}"
3.後はもらったアクセストークン&コンシューマIDでスクリプトを書く
twitter のgemでもoauthのgemでも簡単なことをやる場合はあんま変わんない感じ
#!/usr/bin/env ruby
# coding: utf-8
require 'oauth'
require 'json'
CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXXXXX'
CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXX'
ACCESS_TOKEN = 'XXXX-XXXX'
ACCESS_TOKEN_SECRET = 'XXXXXXXXXXXXXXXXX'
# 下準備
consumer = OAuth::Consumer.new(
CONSUMER_KEY,
CONSUMER_SECRET,
:site => 'http://twitter.com'
)
access_token = OAuth::AccessToken.new(
consumer,
ACCESS_TOKEN,
ACCESS_TOKEN_SECRET
)
# タイムラインを取得して時系列順に表示
response = access_token.get('http://twitter.com/statuses/friends_timeline.json')
JSON.parse(response.body).reverse_each do |status|
user = status['user']
puts "#{user['name']}(#{user['screen_name']}): #{status['text']}"
end
# Tweetの投稿
#response = access_token.post(
# 'http://twitter.com/statuses/update.json',
# 'status'=> 'oauth test post2'
#)
#!/usr/bin/env ruby
# coding: utf-8
require 'twitter'
# ログイン
Twitter.configure do |config|
config.consumer_key = 'XXXXXXXXXXXXXXXX'
config.consumer_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
config.oauth_token = 'XXXXXXX-XXXXXXXXX'
config.oauth_token_secret = 'XXXXXXXXXXXXXXXXXX'
end
#発言する
#puts Twitter.home_timeline.first.text
Twitter.update('hoge')
参考リンク
http://d.hatena.ne.jp/shibason/20090802/1249204953
http://rdoc.info/gems/twitter
http://tech.sayama-yuki.net/archives/166