短縮URL サービスの Web API
の回答で、またしても勘違い回答で、普通にずらずらと短縮URL サービスを書き連ねてしまった。
あわてて複数のURLを扱うサービスを探すものの、URLをまとめるタイプのはいくつもあるのだけれど、複数のURLを、それぞれ短縮URL に変換するのがなかなか見つからない。
じゃあ、作っちゃえば良いじゃん、と安易に考えたのも、今にして思えば安直。
なんとか作れたものの、せっかくなので、失敗の経緯を残しておく。
PHP とかを使えるサーバを持ってるわけじゃないので、javascript だけで実装できることが条件。
■http://bit.ly/
http://code.google.com/p/bitly-api/wiki/ApiDocumentation#/v3/shorten
OAuth による認証が必要。めんどくさい。
同じ理由で、goo.gl も却下。
■http://tinyurl.com/
http://tinyurl.com/api-create.php?url=http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
XMLHttpRequest だと、responseText が空になる。
いや、クロスドメインだからさ。
jQuery の $.get だと、callback に制御が渡らない。
戻りが、Shift-JIS なプレーンテキスト (text/plain) だからか。
■http://json-tinyurl.appspot.com/
tinyurl の JSON ラッパー。
いけるな、と思ったんだ。
http://stackoverflow.com/questions/1414145/create-tinyurl-via-jquery-ajax-call
でも、quota の上限がある。すぐに Over Quota とか言われてしまう。
■http://api.xtw.me/
http://api.xtw.me/api.php?url=http://xtw.me
JSONP なんだけど、callback 関数の名前が callback 固定。
短縮前のURL を渡すのが難しくて、断念。
■http://urx.nu/
http://urx.nu/register.php?callback=jQuery16402792284403575025_1327031229499&url=http%3A%2F%2Fq.hatena.ne.jp%2F1326855462&_=1327031235638
JSON。JSONP じゃない。
text/html で、レスポンスが返るので、callback に制御が渡らない。
で、やっと見つけたのが http://goo.by/ 。
http://goo.by/help#shorten
JSONP ではなく、JSON なのだけれど、application/json で返ってくるので、
$.get の callback に制御が渡る。
で、できたのがこれ。
http://a-kuma3.hatenablog.com/entry/2012/01/20/145648
やれやれ。