カテゴリ: 4,22,63

bit.ly API を試してみる

短縮URLといったら

bitly
https://bitly.com/

Twitterが突発的に流行りだした時に一緒に有名になった短縮URLサービス。bit.ly ちょっとAPI調べて使ってみます。

bit.lyで短縮URL出すにはAPIキーが必要

これAPIリクエストの制限とかあるのかな。

とりあえずアカウント作る

create account のところをクリック

アカウント作ったらトップページへ

右上メニューからSETTINGS

APIキーを取得

当て込んでブラウザのアドレスバーにコピペ

http://api.bit.ly/shorten?version=2.0.1&login=ログインアカウント名&apiKey=APIキー&longUrl=http://www.yahoo.co.jp/

JSONでなんかデータでてくる

<span class="synIdentifier">{</span>
errorCode: 0,
errorMessage: <span class="synConstant">""</span>,
results: <span class="synIdentifier">{</span>
    http:<span class="synComment">//www.yahoo.co.jp/: {</span>
        userHash: <span class="synConstant">"Qflg0g"</span>,
        shortKeywordUrl: <span class="synConstant">""</span>,
        hash: <span class="synConstant">"INPsu"</span>,
        shortCNAMEUrl: <span class="synConstant">"http://bit.ly/Qflg0g"</span>,
        shortUrl: <span class="synConstant">"http://bit.ly/Qflg0g"</span>
    <span class="synIdentifier">}</span>
<span class="synIdentifier">}</span>,
statusCode: <span class="synConstant">"OK"</span>
<span class="synIdentifier">}</span>
Code language: JavaScript (javascript)

ここまでJavascriptコードにする

<span class="synIdentifier">var</span> xh = <span class="synStatement">new</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/XMLHttpRequest">XMLHttpRequest</a>();
xh.open(<span class="synConstant">"GET"</span>, <span class="synConstant">"http://<a class="keyword" href="http://d.hatena.ne.jp/keyword/api">api</a>.bit.ly/shorten?version=2.0.1&login=ログインアカウント名&apiKey=<a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a>キー&longUrl=http://www.yahoo.co.jp/"</span>, <span class="synConstant">false</span>);
xh.send();
<span class="synIdentifier">var</span> obj = JSON.parse(xh.responseText);
<span class="synStatement">for</span> (<span class="synIdentifier">var</span> i <span class="synStatement">in</span> obj.results)<span class="synIdentifier">{</span>
    <span class="synIdentifier">var</span> url = obj.results<span class="synIdentifier">[</span>i<span class="synIdentifier">]</span>.shortUrl;
<span class="synIdentifier">}</span>
<span class="synStatement">alert</span>(url);
Code language: JavaScript (javascript)

結果

http://bit.ly/Qflg0g