[PHP][Graph API] Facebookページの投稿記事のいいね、シェア、リーチの取得
[PHP][Graph API] Facebookページのいいね、リーチの取得 に引き続き、
ページの値ではなく、ページの投稿記事の「いいね」「シェア」「リーチ」の取得方法
以下にちょいちょい出てくるアクセストークンとかは上記リンクを参考にしてください。
投稿記事の記事IDの取得
記事を特定するための記事IDを取得しなけりゃ始まらない。
サンプルコード
//FacebookページのID
$pageId = 'FacebookページのID';
//取得したアクセストークン
$accessToken = '取得したアクセストークン';
$limit = 3;
// ※取得数に上限を設ける場合は、'limit' を指定する
// ※最大取得数 100
$urlForPosts = 'https://graph.facebook.com/'
. $pageId . '/posts?access_token='
. $accessToken . '&limit=' . $limit;
// Graph APIはJSON形式のデータをレスポンスとして返す
$resultsPosts = json_decode(file_get_contents($urlForPosts));
$posts = $resultsPosts->data;
echo '<pre>';
var_dump($posts);
echo '</pre>';
記事ごとの「いいね」「シェア」「リーチ」の取得
リーチ数
$poostId = '値を取得したい記事ID';
$accessToken = 'アクセストークン';
$urlForReachs = 'https://graph.facebook.com/' . $postId
.'/insights/post_impressions_unique/lifetime'
.'?access_token=' . $accessToken;
[PHP][Graph API] Facebookページのいいね、リーチの取得 と特に変わりないので説明は省略。
いいね、シェア
「いいね」と「シェア」は公開されている情報なので、アクセストークンなしで取得できます。
さらに、urlのfieldsをいい感じに書くと、合計とか出してくれる
//記事ID
$postId = '値を取得したい記事ID';
//いいね、シェア数取得用URL
$urlForLikes = 'https://graph.facebook.com/' . $postId .'/?fields=likes.summary(true),shares';
// Graph APIはJSON形式のデータをレスポンスとして返す
$resultsLikes = json_decode(file_get_contents($urlForLikes));
$likes = 0;
$shares = 0;
if (array_key_exists('likes', $resultsLikes)) {
$likes = $resultsLikes->likes->summary->total_count;
}
if (array_key_exists('shares', $resultsLikes)) {
$shares = $resultsLikes->shares->count;
}
echo '<pre>';
echo 'いいね合計<br>';
var_dump($likes);
echo 'シェア合計<br>';
var_dump($shares);
echo '</pre>';
結果
いいね合計
int(4)
シェア合計
int(7)
良いと思う(ハズ)