ボット作りの最初はまずタイムラインの取得から始めてみます。
ファイル名「homeTimeLine.rb」などの名前でファイルを作成。
以下ファイルの中身。
#!/usr/bin/env ruby -Ku
require ‘rubygems’ # ←Ruby 1.9では不要
require ‘twitter’
require ‘pp’
# ログイン
Twitter.configure do |config|
config.consumer_key = ‘*********************’
config.consumer_secret = ‘*******************’
config.oauth_token = ‘*******************’
config.oauth_token_secret = ‘****************’
end
#タイムラインの取得
#自分のタイムラインを取得
timeline =Twitter.home_timeline
pp timeline
#end
ログインの部分の「******」は取得したキーに置き換えます。
Twitter.home_timelineで取得出来るツイート数は20個です。
timelineに配列の型で格納されます。(pp timelineをpp timeline.classとするとtimelineの型が表示されます)
pp timelineで20個のツイートと付随する大量の情報が表示されます。
timelineは配列なのでtimeline[0]で一番新しいツイートのみを表示できます。(0〜19)
pp timeline[0]
timeline[0]で取得できるデータはキーと値からなるハッシュでできています。
このデータの中から必要になりそうな物を表示してみます。
h = timeline[0]
pp h[:created_at]#投稿日時
pp h[:id]#ツイート文のID
pp h[:text]#ツイート文
pp h[:source]#ツイッター投稿時のクライアント名(アプリ名)
pp h[:user][:id]#ユーザーID
pp h[:user][:name]#変更可能な名前
pp h[:user][:screen_name]#@の後に書かれている名前(ツイッターID)
pp h[:user][:location]#プロフィール欄の地名
pp h[:user][:description]#プロフィール欄の説明文
pp h[:user][:followers_count]#フォロワーの数
pp h[:user][:friends_count]#フォローしてる数
pp h[:user][:statuses_count]#ツイート数
pp h[:retweet_count]#リツイート数
まずh = timeline[0]で変数hにデータを格納。
h[:キー]の形で指定するとそのキーに対応する値が取得できます。
またh[:user][:name]のようにキーの中にキーが設定されている物もあります。(ネスト(入れ子))
最後に
pp h.class
pp h[:user].class
を実行すると
Twitter::Tweet
Twitter::User
と表示されます。これはTwitter Ruby Gemのクラスです。「Tweet」「User」クラスで使用できるメソッドを使うと先ほどのハッシュで指定したデータの一部がメソッドを使って取得できます。
http://rdoc.info/gems/twitter/frames(Twitter Ruby Gemのドキュメント)
pp h.user
pp h.user.name
※参考ブログ
プログラミング未経験者でもできる、 Ruby を使った Twitter の bot の作り方(第二章)
最近のコメント