InstagramのURLからサムネールを取得する方法

何日か前に写真共有iPhoneアプリInstagramAPIが公開されました。その中のURLからサムネールを得る方法も公式に提供されました。
他のAPIは認証(OAuthまたはクライアントID送信)が必要となりますが、サムネール画像(や通常サイズの画像)を得るだけなら認証は不要でとっても簡単。


方法は、投稿されたURL ( http://instagr.am/p/〜 )の後ろに /media/?size=t をつけるだけ。
これでサムネール画像にリダイレクトされる仕組みです。なおmediaの後に / を付けないとリダイレクトが1回余計に発生し、無駄な通信をすることになるので注意。


tの部分には t: サムネール、m: デフォルトサイズ、l: 大サイズ が指定可能。?size=の指定を省略するとmのサイズになります。


以上から、JavaScriptinstagramのURLを検出してサムネール画像へのリンクを得るには

if (url.match(/^(http:\/\/instagr\.am\/p\/[\w\-]+)\/?$/)) {
	thumbnail_url = RegExp.$1+'/media/?size=t';
}

などとすれば良いでしょう。


Instagram APIに関して詳しくは公式ページから。