light log

学んだこととか

RubyのTwitter Gem使い方メモ(リスト周り)

Twitter Gemについて、Twitterのリスト関係の情報を取得する方法を覚えたので、簡単にまとめておく。Rate Limitには注意。

require 'yaml'
require 'twitter'

CONFIG = YAML.load_file('config.yml')
client = Twitter::REST::Client.new(CONFIG)

user = 'yamacent' # Twitterのユーザ名(screen_name)

options = { count: 100 }

# ユーザが作成したリスト (Array<Twitter::List>)
owned_lists   = client.owned_lists(user, options)

# ユーザがメンバーに追加されているリスト (Twitter::Cursor)
memberships   = client.memberships(user, options)

# ユーザが購読しているリスト (Twitter::Cursor)
subscriptions = client.subscriptions(user, options)

# memberships, subscriptionsも同じ感じで扱える
owned_lists.each do |list|
  puts [
     list.id,               # ID
     list.name,             # 名前
     list.description,      # 説明
     list.member_count,     # リストに追加されているユーザ数
     list.subscriber_count, # リストを購読しているユーザ数
     list.created_at,       # リスト作成日
     list.mode,             # public(公開)/private(非公開)
                            # 他にもある
   ].join("\t")
end

config.ymlは以下のような感じ。

consumer_key:        'xxx'
consumer_secret:     'xxx'
access_token:        'xxx'
access_token_secret: 'xxx'

参考

続き書いた。

yamacent.hatenablog.com