PHPで、「Bit.ly」のAPIを使ってURLを短縮する。

twitter等で、普段なにげに使っているBit.lyですが、アカウントを登録して使うと、リンクの解析情報が見れたりして、結構便利だったりします。

日頃からbit.lyをよく使う人は登録して損はないです。
また、サイト管理人さんにも登録することをおすすめしたいです。

短縮URLサイト「bit.ly」のアカウントを持ってると利用できる便利機能まとめ

これは、いろんなサービスでも使うようにすれば便利そうだな。ということで、調べてみたらAPIが用意されていたので、触ってみました。

bit.ly APIを使うための準備

  1. Bit.lyのアカウントを取得して、ログインします。
  2. 右上部の[Tool]- [bit.ly API Credentials]をクリックして、「API key」を確認します。
  3. さらに[See the complete bit.ly API Documentation]をクリックして、Documentationのページを開きます。

bit.ly APIの使い方

なんとなく(英語なので)見ていくと、GETでパラメータを渡すとそれにしたがって、json、xml、txt等の形式でデータを返してくれるかたちのようです。

とりあえず、URLを短縮するというとこを作ってみました。
もともと、単純なとこの機能なので、シンプルに実装できます。

echo shorturl_make_bitly("http://blog.flatlabs.net/");

function shorturl_make_bitly($url)
{
    //url(パラメータ)を設定
    $url = "http://api.bit.ly/v3/shorten?"
          ."login={USER}"
	  ."&apiKey={API_KEY}"
	  ."&longUrl=".urlencode($url)
	  ."&format=xml";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    $data = curl_exec($ch);
    curl_close($ch);

    $data_obj = simplexml_load_string($data);

        if((int)$data_obj->status_code == 200)
        {
            return  (string)$data_obj->data->url;

        }else{
            return FALSE;
        }
}

その他、APIには、もとのURL情報を取得したり、まとめて短縮したりするもの等も用意されていますが、基本の使い方は同じで、どれもシンプルに使うことができます。

注意点としては、1つのIPにつき同時接続5つまでということがあります。

Rate Limiting
It’s important to note that bit.ly currently limits API users to no more than five concurrent connections from a single IP address. Also, bit.ly also institutes per-hour, per-minute, and per-ip rate limits for each API method.

ApiDocumentation – bitly-api – bit.ly REST API method documentation

参考サイト

こんなのもありました。

ひとこと

いろんな用途に使えそうだけど、やはり、「twitter API」と合わせて使うと便利なのかな。

カテゴリー: WEB技術のこと   タグ: ,   この投稿のパーマリンク

トラックバック

PHPで、「Bit.ly」のAPIを使ってURLを短縮する。 への2件のコメント

  1. ピンバック: bit.lyの短縮URLをapi使って取得する(PHP) | 晄夏ノート -hicage no oto-

  2. ピンバック: Amazonから商品情報を10件以上得る為のTips | 豆お(´・ω・`)ブログ

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>