復興ログ

未来の被災地にいるアナタと数十年後のキミたちへ。すべての記録を残します。

bit.lyのAPI

使ってみました。

開発者向けページ

ドキュメントはGoogleCodeで公開されています。

登録

bit.lyにユーザ登録をすると使えます。
画面右上のアカウントからAPIキーを確認が出来ます。

API Key

You can provide your API key to 3rd party apps instead of giving them your password. If you think a 3rd party is using your API key inappropriately, you can reset it.

APIキーをアプリを開発したり、使用する、3rdパーティーに教えても良いです。
JSONのリクエストを許可している時点でAPIキーが晒されるのは当たり前なので。
3rdパーティーがAPIキーを不正に利用していそうだったら、APIキーをリセットしてね。ということ。

概要

概要 - APIの基本的な使い方について記述されています。

APIキーの確認はこちら http://bit.ly/account/your_api_key

リクエスト方法

1. login、apiKey共に上記URLより確認可能です。

login=login&apiKey=apiKey

2. APIのバージョンを指定しましょう。

version=2.0.1

3. フォーマットを指定できます。jsonがデフォルトです。(json or xml)

format=json

4. jsonの場合にはコールバック関数が指定出きます

callback=callback

shorten

URLを短くする

longURLを与えると短縮されたURLが返ってきます

リクエストサンプル
http://api.bit.ly/shorten?version=2.0.1&longUrl=http://www.yahoo.co.jp/&login=hebita164&apiKey=R_878fa025e5a0ddab5cfcfe56544e0bcf

{
    "errorCode": 0, 
    "errorMessage": "", 
    "results": {
        "http://www.yahoo.co.jp/": {
            "hash": "INPsu", 
            "shortCNAMEUrl": "http://bit.ly/ak1LUa", 
            "shortKeywordUrl": "", 
            "shortUrl": "http://bit.ly/ak1LUa", 
            "userHash": "ak1LUa"
        }
    }, 
    "statusCode": "OK"
}

expand

URLを戻す
shortUrlにbit.lyのURLを与えます
もしくは
hashにhashを与えます

リクエストサンプル1
http://api.bit.ly/expand?version=2.0.1&shortUrl=http://bit.ly/ak1LUa&login=hebita164&apiKey=R_878fa025e5a0ddab5cfcfe56544e0bcf

{
    "errorCode": 0, 
    "errorMessage": "", 
    "results": {
        "ak1LUa": {
            "longUrl": "http://www.yahoo.co.jp/"
        }
    }, 
    "statusCode": "OK"
}


リクエストサンプル2
http://api.bit.ly/expand?version=2.0.1&hash=INPsu&login=hebita164&apiKey=R_878fa025e5a0ddab5cfcfe56544e0bcf

{
    "errorCode": 0, 
    "errorMessage": "", 
    "results": {
        "INPsu": {
            "longUrl": "http://www.yahoo.co.jp/"
        }
    }, 
    "statusCode": "OK"
}

info

URL情報
shortUrlにbit.lyのURLを与えます
もしくは
hashにhashを与えます

リクエストサンプル
http://api.bit.ly/info?version=2.0.1&shortUrl=http://bit.ly/ak1LUa&login=hebita164&apiKey=R_878fa025e5a0ddab5cfcfe56544e0bcf

{
    "errorCode": 0, 
    "errorMessage": "", 
    "results": {
        "ak1LUa": {
            "calais": {}, 
            "calaisId": "", 
            "calaisResolutions": {}, 
            "contentLegth": 26698, 
            "contentLength": "", 
            "contentType": "text/html; charset=utf-8", 
            "exif": {}, 
            "fileExtension": "", 
            "globalHash": "INPsu", 
            "hash": "INPsu", 
            "htmlMetaDescription": "", 
            "htmlMetaKeywords": "", 
            "htmlTitle": "Yahoo! JAPAN", 
            "id3": {}, 
            "indexed": 1256133396, 
            "keyword": "", 
            "keywords": [], 
            "longUrl": "http://www.yahoo.co.jp/", 
            "metacarta": [], 
            "mirrorUrl": "", 
            "robotsAllowed": true, 
            "shortenedByUser": "hebita164", 
            "surbl": 0, 
            "thumbnail": {}, 
            "urlFetched": "http://www.yahoo.co.jp/", 
            "userHash": "ak1LUa", 
            "users": [], 
            "version": 1.0
        }
    }, 
    "statusCode": "OK"
}

stats

ステータス情報
shortUrlにbit.lyのURLを与えます
もしくは
hashにhashを与えます
トラフィックリファラー情報が分かります。

リクエストサンプル
http://api.bit.ly/stats?version=2.0.1&shortUrl=http://bit.ly/ak1LUa&login=hebita164&apiKey=R_878fa025e5a0ddab5cfcfe56544e0bcf

{
    "errorCode": 0, 
    "errorMessage": "", 
    "results": {
        "clicks": 39532, 
        "hash": "INPsu", 
        "referrers": {
            "": {
                "direct": 7014
            }, 
            "1130yt.blog.so-net.ne.jp": {
                "/2010-02-20": 3
            }, 
            "192.168.100.230": {
                "/o_uccitter/": 1
            }, 
            "aboutnow.jp": {
                "/themes/test": 1
            }, 
・
・
・
        }, 
        "userClicks": 1, 
        "userHash": "ak1LUa", 
        "userReferrers": {
            "": {
                "direct": 1
            }
        }
    }, 
    "statusCode": "OK"
}

errors

エラーコード
bit.ly APIのエラーコードが分かります。

リクエストサンプル
http://api.bit.ly/errors?version=2.0.1&login=hebita164&apiKey=R_878fa025e5a0ddab5cfcfe56544e0bcf