bit.ly で URL の短縮
2010-07-18 23:42 JST @sadayuki TweetBlog に記事を投稿すると、Twitter に tweet する仕組みを作っているのだが、日本語タイトルを URL エンコードすると、URL が長くなってしまう。そこで bit.ly で URL を短縮する。
API ドキュメント は英語なので、日本語情報を検索すると、Rubyでbit.lyのAPI経由で短縮URLを取得する というそのままの記事が見つかった。早速見てみると、現在の API のバージョンが v3 なのに対して、記事の方は 2.0.1 と、少しばかり違う。でもまあ、Ruby の使い方は参考になる。で、作ってみたのが下のコード。まあ、誰が作っても同じにしかならないか。
# bit.ly で URL を短縮
# require 'open-uri'
# require 'json'
def shorten(long_url)
id = '++++++++'
api_key = 'R_++++++++++++++++++'
url = "http://api.bit.ly/v3/shorten?login=#{id}&apiKey=#{api_key}&longUrl=#{long_url}&format=json"
json = open(url).read
res = JSON.parse(json)
if res["status_code"] == 200
return res["data"]["url"]
else
return res["data"]["long_url"]
end
end
早速組み込んでみた。さて動くかな。
#Passenger の再起動を忘れた。また次の機会に。