Home > Ruby > Rubyを使ってTwitterにBASIC認証をしてAPIを利用する

Rubyを使ってTwitterにBASIC認証をしてAPIを利用する

  • Posted by: zaru
  • 2008年1月22日 09:51
  • Ruby

TwitterのAPIを使ってなんか作ってみたいなぁと常に考えてみた結果、自分のFollowerさんの居場所が見られたら面白いかも…ということで、GoogleMaps + Twitterのマッシュアップに挑戦する事にしました。

まず、Twitter API最大の問題として、指定ユーザの情報を取得するには、ログインIDとパスワードが必要だという事。(ただし、すでにTwitterにログインしている状態ならば自分のFollower一覧などは利用できるみたいです)そこで自分のTwitterアカウントを使って、TwitterにBASIC認証をしてAPIを利用する事にしました。

RubyでBASIC認証

取得したいURIは http://twitter.com/statuses/friends/ユーザID.xml です。ここにTwitterをログアウトした状態(クッキーがない状態)でアクセスすると、TwitterのログインID(メールアドレス)をパスワードを求められます。これをRuby上で手続きをします。

#BASIC認証を開始
req = Net::HTTP::Get.new('/statuses/friends/' + userid + '.xml')
req.basic_auth("zaru@example.com", "password")

Net::HTTP.start(address, 80) {|http|
	xml = http.request(req)
}

たったこれだけで、認証が通って指定URIドキュメントを取得する事が出来ます。無事にXMLデータを取得したらあとはXMLを解析するだけです。

XMLを解析する

doc = REXML::Document.new xml.body

#ユーザデータ取得
doc.elements.each('users/user') do |userD|

	#名前を取得
	userD.elements.each('name') do |e|
		print e.text.to_s
	end
	#ロケーションを取得
	userD.elements.each('location') do |e|
		print e.text.to_s
	end
	#アイコンURIを取得
	userD.elements.each('profile_image_url') do |e|
		print e.text.to_s
	end

end

ここらへんはもっとスマートにデータを取得できそうな気もするのですが…。

とりあえず、これだけデータが揃えばRubyでの役割は終了です。あとは、HTMLを書き出してGoogleMapsAPIに渡してやれば完了です。GoogleMapsAPIについては次の記事でまとめたいと思います。

成果物 Twitter Maps

名前を Twitter Maps にしました。

まだ、アルファバージョンという事で、単純にアイコンを表示させているだけです。GoogleMapsの機能をもっと調べて、面白い機能がのせられないか考え中です。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://blog.tofu-kun.org/mt-tb.cgi/370
Listed below are links to weblogs that reference
Rubyを使ってTwitterにBASIC認証をしてAPIを利用する from Webプログラマー+WebデザイナーなZARU日記

Home > Ruby > Rubyを使ってTwitterにBASIC認証をしてAPIを利用する

Profile

zaru

Name : zaru

Webプログラマ+Webデザイナで、Webディレクタやってます。Twitterやっているので、ぜひフォローしてやってくださいませ。Twitter - zaru。また、そのほかのプロフィールについては、iddy - zaruを見てください。

Search
Feeds
Others

Return to page top