2013-11-27 11 views
10

'twitter'という宝石を使用してRubyスクリプトでエラーが発生しました。エラーを生成している私のスクリプトの一部はRuby Twitter APIでエラーが発生しました

require 'twitter' 
require 'net/http' 
require 'json' 

#### Get your twitter keys & secrets: 
#### https://dev.twitter.com/docs/auth/tokens-devtwittercom 
Twitter.configure do |config| 
    config.consumer_key = 'xxxxxxx' 
    config.consumer_secret = 'xxxxxxx' 
    config.oauth_token = 'xxxxxx' 
    config.oauth_token_secret = 'xxxxxxx' 
end 

でエラーが「ツイッター」と「JSON」宝石は私のgemfileの両方であるundefined method 'configure' for Twitter:Module (NoMethodError) しかし、この方法では、未定義のだろうなぜ私はよく分からないと言います。

+0

を参照してください

詳細について
client.sample do |tweet| puts tweet.text end 

あなたは使っていますか? 設定はTwitter :: REST :: Client.newメソッドを通じて行われていることがドキュメントに記載されています – Zippie

+0

私のGemfile.lockファイルに 'twitter(5.0.0)'と書かれています – user1893354

+1

https:// github.com/sferik/twitter – Zippie

答えて

17

あなたはそれを「古い」方法でやっています。バージョン5以降、グローバル構成は使用できなくなりました。したがって、基本的には、クライアントを初期化するときにconfigパラメータを渡す必要があります。例えば

client = Twitter::REST::Client.new do |config| 
    config.consumer_key  = "YOUR_CONSUMER_KEY" 
    config.consumer_secret  = "YOUR_CONSUMER_SECRET" 
    config.access_token  = "YOUR_ACCESS_TOKEN" 
    config.access_token_secret = "YOUR_ACCESS_SECRET" 
end 

そしてちょうどのようなクエリを実行するために、そのクライアントを使用します。ちょうどある宝石のバージョンSferik's Twitter Gem

+3

最新の4つのつぶやきのリストを取得したい場合、どうすればいいですか?私は「クライアント」が私にNameErrorを与えたので、どのコントローラでもクライアントにアクセスすることはできません。このドキュメントは私をイライラさせています。彼らはコントローラコードを表示しません... – Peege151

関連する問題