はてな短縮URLのAPIが公開されたので試してみる

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だと思うんだけど、それは後日に公開されるといいなぁという感じでワクテカ気分で待ってみる。