PHPでいいね数、ツイート数、はてブ数を取得する方法

2013/11/22

ソーシャルボタンのクリック数を取得

概要

PHPでページのいいね数、ツイート数、はてブ数を取得する方法を紹介します。
最近では、これらのソーシャルボタンを設置しているWebサイトが多くなってきました。
このようなボタンです。
ソーシャルボタン

これらのボタンを設置してクリックされることで、それらのSNSでの宣伝効果が得られるのが主なメリットです。
ブログであれば記事ページに設置されることが多いと思います。

これらのクリック数を管理したい、一覧でページ毎に確認したいということは多いのではないでしょうか。
そういった画面を作成するために必要な、PHPでページ毎に取得する方法を掲載します。

取得方法

各SNSでは、クリック情報を取得するためのAPIが用意されています。
これらのAPIに該当ページのURLを渡すことで簡単に取得できるのです。

例えばFacebookであれば、下記のような実装の流れとなります。

  • APIを使用してURLからクリック数を取得する関数を作成
  • 作成した関数を使ってクリック数を取得して表示

たったこれだけですw
ちなみに Twitterやはてなブックマークでも全く同様です。

下記サンプルコードでは、これらの関数をまとめて、いいね数、ツイート数、はてブ数の3つのクリック数を取得していますので、参考にしてください。

サンプルコード

表示側の記述例


$socials = getSocialCount('http://example.jp/');

echo "はてブ数:" . $socials['hate'] . "<br />";
echo "ツイート数:" . $socials['twit'] . "<br />";
echo "いいね数:" . $socials['face'] . "<br />";

取得ロジックの例


function getSocialCount($url) {
	$socials = array();
	$socials['hate'] = getHate($url);
	$socials['twit'] = getTwit($url);
	$socials['face'] = getFace($url);

	return $socials;
}

function getHate($url) {
	$hate_uri = 'http://b.hatena.ne.jp/entry/json/?url=' . rawurlencode($url);
	$json = file_get_contents($hate_uri);
	$result = json_decode($json);

	return (int) $result->count;
}

function getTwit($url) {
	$twit_uri = 'http://urls.api.twitter.com/1/urls/count.json?url=' . rawurlencode($url);
	$json = file_get_contents($twit_uri);
	$result = json_decode($json);

	return $result->{'count'};
}

function getFace($url) {
	$like_uri = 'http://api.facebook.com/method/fql.query?query=select+total%5Fcount+from+link%5Fstat+where+url%3D%22' . rawurlencode($url).'%22';
	$xml = file_get_contents($like_uri);
	$result = simplexml_load_string($xml);

	return $result->link_stat->total_count;
}

getSocialCountで、各SNS用の関数を全て実行して、取得した数をArray変数にまとめてリターンしています。

もしよろしければ、この記事のソーシャルボタンもクリックしていただけると光栄ですw

  • このエントリーをはてなブックマークに追加
Related

PHP Laravel5.2でmulti-auth(複数テーブルでの認証)を実装

Laravel5.2でマルチ認証 概要 LaravelとはPHPの中で今最も伸びているフレームワークです。 処理速度が遅いなどありますが、かなり使い安く拡...

PHP 正規表現でIPアドレス形式の文字列か判定

正規表現でIPアドレスの入力チェック 概要 フォームで入力されたIPアドレスが正当な文字列か判定するためのバリデーション処理を実装します。 基本的...

rbenv環境でRuby on Railsのアプリケーションを一瞬で自動生成

アプリケーション構築時に最初に行う手順 概要 アプリケーションを作成するまでの手順を記載しています。 rbenvなどの環境が設定済と仮定して話を進めま...

Rails devise・authority・rolifyで権限付きの認証機能

devise・authority・rolify 概要 3つのGemを使用して、権限付き認証機能を実装します。 gem インストール Gemfile ...

Rails devise で複数モデルの認証機能を実装

Rails devise で複数モデルを管理 概要 rails のログイン認証 Gem「devise」のインストール・設定方法を紹介します。 よく「d...

jQuery UI ドラッグ&ドロップで並び替え sortableの使用方法

sortable 概要 jQuery UIを使用して、ドラッグ&ドロップで並び替えを行います。 sortableを使用することで、一瞬で実装できちゃいます...
トップへ戻る