ruby twitterで検索すると、いろいろ実装方法がでてくるが、以下のエラーでつまづくことがあったので、メモ。
undefined method `configure' for Twitter:Module (NoMethodError)
gemでいれたtwitterのversionは、5.8.0だったので、ある時点からtwitterのライブラリの仕様が変わったらしい。
$ gem list --local | grep twitter
get-twitter-oauth-token (1.1.0)
twitter (5.8.0)
でも、以下のようにやれば動くので参考にしてください。
gemでライブラリをインストール
gem install twitter
もしかしたら、以下も必要だったかもしれない。
gem install oauth get-twitter-oauth-token
rubyのプログラム
require "twitter"
client = Twitter::REST::Client.new do |config|
config.consumer_key = "lftxxxxxGrxlxxxxSlu44xxx"
config.consumer_secret = "UTq19HxxxxNkGqiBxSFxxxxxxnOabvvzUxxxx6mpxxxx8jb"
config.access_token = "109999726-e9QpxxxxxxxrVl2t1sdsxxxxxWIg3rxxxxGvPka"
config.access_token_secret = "tixxxxxAHjMAxxxx1KktdgiPrMnsxxxxxxyWVMEgxxxQN"
end
client.update("Hello World!!!")
ポイントは、Twitter::REST::Client.new
とするところと、
その戻り値をclientで受けて、そのclientを操作するところ。
よくみるやり方だと、Twitter.configure do |config|
とやっているけれど、自分の場合は、上記のエラーになってしまった。
これは、twitterのライブラリのversion5から仕様が変わったということだと思ってます。
参考になりそうなのは、以下のサイト
3分でスッキリ! Oauth 1.0図解とRuby Twitter bot開発
Error with Ruby Twitter API