GraphAPIを用いてページにいいねが押してあるか判別する方法


みなさんこんにちは。

FacebookのGraphAPIってやっぱ楽しいですね。
個人情報をここまで簡単に取れるAPIをいじれるのはとても楽しいですよ。

今回はPHPを使ってあるページにいいねが押してあるかどうかを判別する方法を紹介します。
簡単なことではありますが、2通りの方法を紹介します。

以下が今回の記事の目次です。

◯ 今回やること

1, Facebookページにいいねが押してあるかどうかを判別する

2, あるWebページにいいねが押してあるかどうかを判別する

◯ 最後に

今回やること

ページにいいねが押してあるかを判別するのですが、ページにも2種類あります。

  • Facebookページ
  • その他のWebページ

僕が調べた中では、それぞれやり方が異なっていたため、それぞれのやり方を紹介します。

以下からPHPのFacebookSDKをダウンロードしておいてください。

github – Facebook PHP SDK

Facebookページにいいねが押してあるかどうかを判別する

よく色々なページで書いてあるのがこちらの方法です。
以下、コードを示します。

 'appId',
    'secret' => 'secret',
    'cookie' => true,
));

$user_id = $facebook->getUser();

if($user_id){
    try {
        $ret_obj = $facebook->api('/me/likes/"FacebookページのID"');
    } catch (FacebookApiException $e){
        
    }
} else {
    $login_url = $facebook->getLoginUrl();
}

上記の「appId」「secret」「FacebookページのID」を書き換えれば使用することが出来ます。
リファレンスは以下にあるので参考にしてみてください!

API Reference GraphAPI User Belong部分

あるWebページにいいねが押してあるかどうかを判別する

上記の方法では、Facebookページにいいねが押してあるかどうかは判定出来ますが、普通のWebページだと判別出来ません。

なので以下の方法を使用しましょう!

 'appId',
    'secret' => 'secret',
    'cookie' => true,
));

$user_id = $facebook->getUser();

if($user_id){
    try {
        $fql = "SELECT url FROM url_like WHERE user_id = me() AND url = 'https://tagamidaiki.com'";
        $ret_obj = $facebook->api(array(
            'method' => 'fql.query',
            'query' => $fql
        ));
    } catch (FacebookApiException $e){
        
    }
} else {
    $login_url = $facebook->getLoginUrl();
}

ここではFQLを使って判定しました。tagamidaiki.comにいいねをしているかどうかを判定することが出来ます。

2013年7月18日追記

上記のコードのサンプルを作成しました!
https://tagamidaiki.com/sample/graph-api-like-call/
あえてvar_dumpの結果を表示しているのでいいねを押すとどうなるのか確認してみてください。

サンプルのソースコード全ては以下になります。

getUser();

if($user_id){
    try {
        $fql = "SELECT url FROM url_like WHERE user_id = me() AND url = 'https://tagamidaiki.com'";
        $ret_obj = $facebook->api(array(
            'method' => 'fql.query',
            'query' => $fql
        ));
    } catch(FacebookApiException $e){
        error_log($e);
    }
} else {
    $login_url = $facebook->getLoginUrl();
}

?>



	
	GraphAPIを用いてページにいいねが押してあるか判別する方法  

    

いいねしていただいてありがとうございます!!( ・ิv・ิ)

いいねを押して更新すると表示が変わります!

Facebookでログインする

以下が参考文献です。

Facebook API Reference FQL url_like

最後に

FacebookのGraphAPIを触るときは、まずリファレンスを見まくるといいです(全てにおいてそうか)
Facebookはこまめにリファレンスを更新してくれるので、出来ることはほとんど書いてあります。

また、それぞれのAPIを試すときは、GraphAPIExplorerを使用すると便利です。

みんなもGraphAPIを使って楽しいFacebook LIFEを過ごしましょう!なんちて!

更新情報はFacebookページで!

ブログの更新、読んで役立つ他ブログの記事などを更新しています。




関連のある記事