最近Ruby Twitter GemでTwitter APIをいじってる。
公式ドキュメントが(少なくとも自分の中では) 丁寧とは思えないので、完全手探り状態。
今日はRuby Twitter GemにあるSearchクラスを利用したときに戻ってくるデータのフォーマットをメモ。
(といってもdev.twitter.comのリファレンスを読めばフォーマットは書いてあるんだけど…)
まずは単純に検索と表示。
require 'rubygems'
gem 'twitter'
require 'twitter'
result = Twitter::Search.new('hoge')
result.each do |result|
puts result.text
end
これでつぶやきに’hoge’が含まれるつぶやきを表示できる。
で、コード中の
result
は検索に引っかかったつぶやきが配列になって入ってるんだけど、
それぞれのつぶやきはMashという(多分)配列を拡張したようなクラスになっているので
今回はそれのフォーマットがターゲット。
<#Hashie::Mash
created_at= # つぶやきの生成日
from_user= #つぶやいた人のユーザ名
from_user_id= #つぶやいた人のユーザID
geo=<#Hashie::Mash #つぶやいた場所。ジオタグ付加にしてない場合はnil
coordinates= #緯度と経度の1次元配列
type= #位置情報のタイプ.
>
id= #つぶやきのID
iso_language_code= # 言語
metadata=<#Hashie::Mash
result_type= #検索タイプ popular or recent
>
profile_image_url= # つぶやいた人のアイコンのURL
source= # クライアントのリンク(WebとかiPhoneアプリ名とか)
text= # つぶやきの本文
to_user_id= # Reply先(なければnil)
>
こんな感じ。Wordpressのコード整形がしょぼいので見にくいかも。
もし、つぶやきの位置情報を抜き出すなら
puts sresult.text
を
p sresult.geo.coordinate[0] #緯度を表示
p sresult.geo.coorginate[1] #経度を表示
とすればOK
ようやくTwitter Gemが自由に使えるようになってきたこの頃。
でもライブラリつかわず自力でAPI叩くのもあんまり難しくなさそうに感じてきた…
No related posts.
関連記事はYARPP関連記事プラグインによって表示されています。