TwitterBotを作る[PHP]で、とりあえずTwitterにPOSTはできるようになりました。
ただ、周知の通り、Twitterは140文字しかPostできません。
長ったらしいURLなんて入れたら、情報量が少なくなってしまいます。
そこで活躍するのが、URL短縮サービス。
色々ありますが、いつも使っている
http://bit.ly/
のサービスを使う事にしました。
コレを使うと、短縮したURLのクリック数とかの簡単な統計もとってくれるので非常に便利です。
bit.lyにもAPIがあるので調べてみます。
http://code.google.com/p/bitly-api/wiki/ApiDocumentation
…英語ですが…。
まあでもサンプルがあるので何となくわかりました。
http://code.google.com/p/bitly-api/wiki/ApiDocumentation#/v3/shorten
コレのようです。
単純にログインIDとAPIKyeと戻り値フォーマット、URLを渡せば、短縮URLを返してくれるみたいです。
Twitterの時のように、curlコマンドを使えば簡単にできそうですね。
まずはbit.lyに会員登録して、apikeyを取得します。
ログイン後に右上に表示されている Hi hoge ı Sign Out の hoge(これは会員登録時のIDになります)をクリックすると、次画面でAPIkeyが表示されますので、コピーしておきます。
で、PHPの方はというと…。
<?php define("bitly_id","hoge"); define("bitly_apikey","foofoo"); define("bitly_apiurl",'http://api.bit.ly/v3/shorten?'); echo GetShortURL("http://mspec.jp/blog/"); function GetShortURL($sauce_url){ $query = bitly_apiurl.'login='.bitly_id.'&apiKey='.bitly_apikey.'&longUrl='.urlencode($sauce_url).'&format=txt'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $query); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); $response = curl_exec($ch); curl_close($ch); if($response){ return $response; }else{ return false; } } ?>
こんな感じでよいでしょうか…。
いいみたいですね。ちゃんと短縮URLが取得できました。
他にもいろいろ作っている人がいます。楽なモノを使えばよろしいのではないでしょうか。
http://phpspot.org/blog/archives/2010/04/bitlyapi3phpurl.html
http://d.hatena.ne.jp/tknzk/20090820/1250757502