Rubyのリハビリ。はてな短縮URLのAPIが公開されたので、試してみた。
今回公開されたのは、はてな短縮URL(htn.to)をもとのURLに変換するもの。サンプルを書いてみた。
#!/opt/local/bin/ruby # coding: UTF-8 require 'rubygems' require 'net/http' Net::HTTP.version_1_2 require 'json' ## 今回テストするURL URLS=['http://htn.to/UjBwgo','http://d.hatena.ne.jp/miyohide','http://bit.ly/aCyMhM'] ## クエリ文字列の作成。URLの先頭にshortUrl=をつけて、&で結ぶ query='/api/htnto/expand?' + URLS.map{|url|"shortUrl=#{url}"}.join('&') ## クエリの発行。 result = JSON.parse(Net::HTTP.get("b.hatena.ne.jp","#{query}")) ## データの表示 result["data"]["expand"].each do |urllist| urllist.each_pair do |key,value| puts "#{key} is #{value}" end end
結果は次のようになる。
short_url is http://htn.to/UjBwgo long_url is http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%C3%BB%BD%CCURL-%A5%EA%A5%C0%A5%A4%A5%EC%A5%AF%A5%C8%C0%E8%BC%E8%C6%C0API short_url is http://d.hatena.ne.jp/miyohide error is NOT_HTNTO_URL short_url is http://bit.ly/aCyMhM error is NOT_HTNTO_URL
はてな短縮URLだったら、元のURLが返ってくるんだけど、それ以外のURLだったらエラーとしてNOT_HTNTO_URLを返す。
多くの人が欲しいのは、はてな短縮URLを生成するAPIだと思うんだけど、それは後日に公開されるといいなぁという感じでワクテカ気分で待ってみる。