• 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