[PHP] API連携「bit.lyでショートURLをGET」

2015年4月26日

PHP Tips サービス プログラミング

TwitterBotなどを使う場合に、URLをできるだけ短くしたいので、ショートURLサービスを利用したいと思います。 全て自作にこだわりたい人は、以前書いた記事を参考に自前UniqueURLを構築してみてください。 短縮URLシステム「UniqURL」 今回は「bit.ly」サービスを使ってみたいと思います。

外部APIのメリット

有料サービスなどを立ち上げる場合は、サービス内での全ての機能の障害を担保しなければいけないため、外部APIよりは、出来る限り内部で復旧できる構成でシステムを構築する必要があるのですが、最近の傾向としては、 「外部でも大手サービスはあまり障害がない」 と、考える方が色々と楽なことが多いようです。 また、実際の外部APIのショートURLは、特殊なドメイン取得をしていて、通常のドメイン購入ではできないような短いURLで提供ができるため、ショートURLのサービス特性上は、こういった外部APIを使うメリットはあります。

API-keyの取得

1. https://bitly.comにアクセスして「sign in」する。

※アカウントを作っていない人は「sign up」してください。

2. Settingを選択

3.「ADVANCED」を選択

4. 画面一番下にある「Login」と「API key」をメモ

ソースコード

index.php

<?php /** * short-URL bit.ly */ echo bitly("%url%","%login%","%API-key%"); //bit.ly-get-short-url function bitly($url,$user,$api_key){ //送信用URL $url = "http://api.bit.ly/v3/shorten?"."login=".$user."&apiKey=".$api_key."&format=json"."&longUrl=".urlencode($url); //json形式で取得してobject変換する $res = json_decode(file_get_contents($url)); return $res->data->url; }

設定

%url% 短縮したいURL %login% 先ほどメモした「login」 %API key% 先ほどメモした「API key」 上記を入力すれば、すぐに短縮URLがゲットできます。

実践設定方法

%url%は、 $_REQUEST['url'] とすると、クエリ情報でurlを付けることでindex.phpが動的ツールにできます。

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。