こういうボタンを見たことあるでしょうか?ツイートボタンを呼ばれて、ブログやニュースなど、そのページをツイッターでみんなに伝えたいときに、使うボタンです。
ボタンの隣には、そのページがツイートされた回数が表示されます。
このボタンを自分のサイトに設置するのは簡単にできます。
公式TwitterにHTMLタグを生成するページがあります。
http://twitter.com/goodies/tweetbutton
ボタンはページ毎にURL属性(data-url)を変える必要がありますが、プログラムでタグの属性を変えてあげれば簡単にできます。
それでは、本題。
ツイートボタンの数字、そのページがツイートされた回数を取得するにはどうするか?
Twitter APIにツイート内に含まれるURL数を取得する機能があります。
次のURLに、GETリクエストで、パラメータurlに取得したいURLを指定すると、JSON形式でURL数を取得できます。
http://urls.api.twitter.com/1/urls/count.json
例えば、
http://urls.api.twitter.com/1/urls/count.json?url=http%3A%2F%2Fkumacoro.blogspot.com%2F2011%2F02%2Fmacfirefox.html
とすると、
"count":4,"url":"http://kumacoro.blogspot.com/2011/02/macfirefox.html/"
という結果が帰ってきます。countの部分の数字を取得すればOKです。
PHPで取得できるプログラムを書いてみた。
function getNumberOfLinkInTwitter($url)
{
// ストリームを作成する
$opts = array(
'http' => array(
'method' => 'GET'
)
);
$context = stream_context_create($opts);
// ファイルを取得する
$file = file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url='.urlencode($url), false, $context);
$json = json_decode($file, false);
return (isset($json->count)) ? intval($json->count) : false;
}
0 件のコメント:
コメントを投稿