個人的なメモとして残す。あまりまとまっていない。
バージョン
ソースコード
タイムラインを取得して表示するだけ
require 'rubygems' require 'twitter' require 'pp' client = Twitter::REST::Client.new do |config| config.consumer_key = "" config.consumer_secret = "" config.access_token = "" config.access_token_secret = "" end puts "Configuration Success!" #client.update("ついーと") # Get timeline myTL = client.home_timeline myTL.collect do |tweet| puts "#{tweet.user.screen_name} : #{tweet.text}" end
ストリーミングを利用する
tweetstream gem を利用する。公式Github→ File: README — Documentation for twitter (5.10.0) 。
require 'rubygems' require 'tweetstream' require 'pp' TweetStream.configure do |config| config.consumer_key = "" config.consumer_secret = "" config.oauth_token = "" config.oauth_token_secret = "" config.auth_method = :oauth end puts "Configuration Success!" begin streamclient = TweetStream::Client.new streamclient.userstream do |status| username = "#{status.user.screen_name}" contents = "#{status.text}" str = username + ";" + contents puts str end
ストリーミングを利用する場合、スクリプトはえんえん動き続けるので、何らかの終了処理を入れる必要がある。公式ドキュメントには、ツイート数を10件取得したら終わらせるというサンプルがある。
強制的に終わらせるならCtrl+C。
タイムラインを取得する
The Twitter Ruby Gemを利用する。下記の一行で可能。
myTL = client.home_timeline
その他は公式ドキュメント File: README — Documentation for twitter (5.10.0) を参考にする。
オブジェクト
APIでどういうものが得られるのかは下記の公式サイトの記述を参考にする。
例えば、クライアント名を取得したい場合は
myTL.collect do |tweet| puts "#{tweet.source}" end
のようにドットに続けて書けば良い。