日本語のところは環境に合わせて値を置き換えてください。
require 'twitter'
client = Twitter::REST::Client.new do |config|
    config.consumer_key        = 'コンシューマキー'
    config.consumer_secret     = 'コンシューマシークレット'
    config.access_token        = 'アクセストークン'
    config.access_token_secret = 'アクセストークンシークレット'
end
user = "ユーザ名"
list_name = "リストの名前"
list_tweet = client.list_timeline( user, list_name)
list_tweet.each do |tw|
    puts tw.user.profile_image_uri(:normal)
    puts tw.user.screen_name
    puts tw.text
    puts tw.created_at
    puts tw.favorite_count
    puts tw.retweet_count
end
これだけで取れてしまうのがすごい。
っていうか、リストのタイムラインを取得するのは認証必要なのかな?その辺がいまいちわかっていない。
今回ハマったところ
書きたかった本題はこれ。
最初は何度やっても下のエラーが出てダメでした。
/usr/local/rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/rest/response/raise_error.rb:15:in `on_complete': Sorry, that page does not exist. (Twitter::Error::NotFound)
        from /usr/local/rvm/gems/ruby-2.3.0/gems/faraday-0.9.2/lib/faraday/response.rb:9:in `block in call'
「ページが存在しない」って言われているけど、「存在してるよ!!なんでだよ!!」とモニターと一生懸命会話していました。
どうしてなのかさっぱりわからなかったけど、適当に試していたら以下の内容がダメっぽいです。
リスト名が日本語
日本語リストが取得できません。文字エンコードとかすればできるようになるのかもしれないですけど、結局解決方法はわからなかったですが、とりあえずリストの名前が日本語になっているとダメでした。
リスト名に_(アンダースコア)がある
これもダメっぽいです。リスト名にアンスコが入っていると取得できませんでした。
結局のところ
リスト名を英語にする+アンスコを使わない形でようやく取得ができるようになりました。地味なところでハマったわ・・・・ドキュメントとかに禁則文字として書いてあるのかなぁ。時間があるときに調べてみよう。
参考にしたサイト
Ruby - Twitter API でリスト取得! - mk-mode BLOG
Class: Twitter::User — Documentation for twitter (7.0.0)
ruby で twitter api を使用する | Lonely Mobiler
RubyのTwitter Gem使い方メモ(リスト周り) - light log
http://qiita.com/Fortinbras/items/5834a1ba1a734c55ca42
http://qiita.com/Fortinbras/items/90abcbd9b25268314943
Twitter gemでツイート検索する場合の要点、及び:since_id指定を有効にするモンキーパッチ - Qiita
