k242hd's memo

RubyとAndroidと時々TopCoder

Rubyを使ってTwitterの情報を取得

Ruby使って何かやりたいなーと思っていたので、Twitterをいじってみることに...


今回やったこと

  • 自分のアカウントのフォロー数、フォロワー数、ツイート数の取得
  • TLからテキトーにツイートを取得


使ったのはこれ

導入方法はgemからインストールするだけ。

gem install twitter

自分の場合バージョン5.6.0でした。



続いて、Twitter側にアプリケーションの登録をします。

こちらの記事がわかりやすかったです。
トークンは登録したアプリケーションのページから生成しました。



後はコードを書いて動かすだけ。
Clientを取得するのにRESTを用いる方法とStreamingを用いる方法があるみたいで、今回はRESTで取得することにします。

require 'twitter'

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


フォロワー数などの取得

my_user = client.user

puts my_user.friends_count #=> フォロー数
puts my_user.followers_count #=> フォロワー数
puts my_user.tweets_count #=> ツイート数


最後にTLから10件ツイートを拾ってくる

client.home_timeline(:count => 10).each do |tweet|
  puts '投稿者:' + tweet[:user][:name]
  puts tweet[:text]
  puts
end


こんな感じになりました。
最後のtweetのデータ構造がよくわからなかったので、

こちらの記事を参考にしました。


コード自体は簡単ですけど調べるのに一苦労しましたね...
次は、これを使ってbotを作ってみようかと思います。