LoginSignup
11
11

More than 5 years have passed since last update.

[PHP][Graph API] Facebookページの投稿記事のいいね、シェア、リーチの取得

Last updated at Posted at 2015-08-31

[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)

良いと思う(ハズ)

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11