URL 短縮サービス bit.ly/j.mp の API 触ってみたメモ
以前よりちらちら触れてますが、Twitter のクライアントを開発中ということで、
- 投稿前に URL を短縮して文字数を稼ぐ
- タイムライン上の短縮 URL のリダイレクト先へジャンプする前に URL を確認
といった機能の実装のため、API を調べて使ってみました。
@ユーザー登録
API を使用するにはユーザー登録が必要です。
bit.ly と j.mp は運営が同一ですので、どちらかで登録すれば両方使えます。
API 使用時に必要になる「API Key」は、右上「Account」のページから参照できます。
@URL を短縮する
http://api.j.mp/shorten?version=2.0.1&longUrl=(url)&login=(user_id)&apiKey=(api_key)&format=xml
こいつを GET で投げます*1。
format は指定しないと json 形式で返ってくるようなので、今回は都合のいい xml 形式で返してもらいました。
0
(ハッシュ)
(こっちのハッシュじゃないみたい)
http://j.mp/(ハッシュ)
OK
xml 形式だと、こういう感じで返ってきます。
@短縮 URL を戻す
http://api.j.mp/expand?version=2.0.1&shortUrl=(url)&login=(user_id)&apiKey=(api_key)&format=xml
longUrl が shortUrl になるだけです。こちらも GET で投げます。
すると以下のような結果が…
0
<(ハッシュ)>
(ジャンプ先 URL)
(ハッシュ)>
OK
ハッシュは英数を使用するため、先頭が数値になりえます。つまり xml として正しくありません。
今回の開発では C#/.NET Framework を利用していますが、こいつの xml パーサーに通そうとすると、思いっきり例外吐きます。
ですので json 形式で取得するか、無理やり正規表現で URL を抜き取るかになりそうです。
bit.ly はお茶目さんだなあ!