LoginSignup
3
3

More than 5 years have passed since last update.

rubyで作るtwitter bot <oauth error について>

Last updated at Posted at 2014-03-08

以前は動いていたのだが、サーバーをアップグレードしてしまってから下記のようなエラーがでて認証がうまくいきません。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認証がうまくいかないのか。アプリケーションのバージョンや環境は
メモするということは重要ですね。。。

3
3
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3