以前は動いていたのだが、サーバーをアップグレードしてしまってから下記のようなエラーがでて認証がうまくいきません。OSも再インストールしたし、ruby のバージョンも gem もいろいろ試しましたが結局このエラーで止まります。
irb を起動して require 'rubygems' で false が出るのは irb の内部で既にrequireして読み込んでるらしいので問題はありません。
twitter の gem を使って簡単にできるのが魅力なのですが、認証がうまくいかないとは。。。
参考 http://morizyun.github.io/blog/twitter-bot-ruby-rails
/home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/twitter-5.7.1/lib/twitter/rest/response/raise_error.rb:17:in `on_complete': Could not authenticate you (Twitter::Error::Unauthorized)
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/faraday-0.9.0/lib/faraday/response.rb:9:in `block in call'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/faraday-0.9.0/lib/faraday/response.rb:57:in `on_complete'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/faraday-0.9.0/lib/faraday/response.rb:8:in `call'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/faraday-0.9.0/lib/faraday/request/url_encoded.rb:15:in `call'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/faraday-0.9.0/lib/faraday/request/multipart.rb:14:in `call'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/twitter-5.7.1/lib/twitter/rest/request/multipart_with_file.rb:18:in `call'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/faraday-0.9.0/lib/faraday/rack_builder.rb:139:in `build_response'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/faraday-0.9.0/lib/faraday/connection.rb:377:in `run_request'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/faraday-0.9.0/lib/faraday/connection.rb:177:in `post'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/twitter-5.7.1/lib/twitter/rest/client.rb:92:in `request'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/twitter-5.7.1/lib/twitter/rest/client.rb:69:in `post'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/twitter-5.7.1/lib/twitter/request.rb:22:in `perform'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/twitter-5.7.1/lib/twitter/request.rb:29:in `perform_with_object'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/twitter-5.7.1/lib/twitter/rest/utils.rb:39:in `perform_with_object'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/twitter-5.7.1/lib/twitter/rest/tweets.rb:148:in `update!'
from /home/ubuntu/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/twitter-5.7.1/lib/twitter/rest/tweets.rb:120:in `update'
from bot.rb:20:in `'
主要部分のソースです
require 'rubygems'
require 'twitter'
client = Twitter::REST::Client.new do |config|
config.consumer_key = "aaaaa"
config.consumer_secret = "vvvvv"
config.access_token = "ffffff"
config.access_token_secret = "ccccccc"
end
client.update 'test tweet'
以前は動いていたのですが、なぜoauth認証がうまくいかないのか。アプリケーションのバージョンや環境は
メモするということは重要ですね。。。