2017
11.25
KAZUHIRO171013285_TP_V4

[PHP] ソーシャルボタン自作!SNSのカウント数を取得する(Facebook,Twitter等)

プログラミング

307 Views

FacebookやTwitter、Google+等のシェア数・いいね数をPHPでカウントする方法をご紹介します!PHPでカウントすることができれば、結果の値を使って自由にソーシャルボタンを自作できますので、是非ご利用下さい(。・ω・。)

[PHP] ソーシャルボタン自作!SNSのカウント数を取得する(Facebook,Twitter等)

1. 共通プログラム

各SNSのいいね、ツイート数、シェア数をカウントするためには、対象のサイトURLを取得する必要があります!今回は、自サイトのURLを取得する下記コードを埋め込んで下さい。

# カウントを表示する対象のページのURLを取得
$get_url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

2. 各種SNSのカウント数取得

2-1. Facebookの「いいね数」取得

Facebookのいいね数は、FQLを利用して下記コードで取得できます!json形式で取得しておりますので、取得時後->を利用して、値を取ってきて下さい。尚、コメント数やシェア数、その全てをあわせた合計数も同時に取得してます!

Twitterの「ツイート数」取得

Twitterのツイート数取得方法です。Twitterは仕様変更が多いので、取れなくなる可能性も高いですが・・・取れなくなった際は、随時その仕様に合わせていきましょう!

Google+の「プラス数」取得

Googleのポータルサイトは日本ではあまり人気はないですが、海外ではかなり活用されています!WEBページはワールドワイドな世界なので、是非こちらも追加してみて下さい!

# Google+ +数取得
$google = file_get_contents( 'https://apis.google.com/_/+1/fastbutton?url=' . urlencode( $get_url ) );
# 正規表現でカウント数のところだけを抽出
preg_match( '/\[2,([0-9.]+),\[/', $google, $result_google);

# 結果出力方法
echo $result_google[1];
HatenaBookmarkの「ブックマーク数」取得

ブックマークサイト、はてブのブックマーク数方法です!日本でははてブで管理されている方も多く、まだまだ現役なSNSです!

# HatenaBookmark ブックマーク数取得
$hate_uri = 'http://b.hatena.ne.jp/entry/json/?url='. rawurlencode($get_url);
$json = file_get_contents($hate_uri);
$result_hatena = json_decode($json);

# 結果出力方法
echo (int)$result_hatena->count;
Pocketの「ポケット数」取得

ライトユーザにはあまり居ないですが、Pocketもよく使われてます!はてブと同じような立ち位置のサイトです(。・ω・。)

# Pocket ポケット数取得
$query = 'http://widgets.getpocket.com/v1/button?v=1&count=horizontal&url=' . $get_url;
$html = file_get_contents($query);
$start_str = "<em id";
$end_str = "</em>";
$pos1 = strpos($html, $start_str);
$pos2 = strpos($html, $end_str);
$count_pk = $pos2 - ($pos1 + 13);
$result_pocket = substr($html,$pos1 + 13,$count_pk);

# 結果出力方法
echo $result_pocket;

いかがでしたでしょうか、ソーシャルボタンのカウント数は、javascript等でも取得可能ですが、どちらの手法でもパフォーマンスが気になります(各種SNSから値が返ってこないと、ページ読み込み完了にならない)。パフォーマンスとにらめっこしつつ、是非素敵なソーシャルボタンを作って下さい♪ヾ(。・ω・。)ノ゙

 この記事を読んだ人は、以下の記事も読んでいます

 この記事を読んだ人は、稀に以下の記事も読んでいます

 人気記事らんきんぐ(。・ω・。)

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。