ユーザーがFacebookアプリケーションを気に入ったかどうかを確認するにはどうすればよいですか?
Facebookアプリを作成しようとしていますが、2つの異なるページがあり、ユーザーが気に入った場合はpage_1が表示され、そうでない場合はpage_2が表示されます。
ユーザーがFacebookアプリケーションを気に入ったかどうかを確認するにはどうすればよいですか?
Facebookアプリを作成しようとしていますが、2つの異なるページがあり、ユーザーが気に入った場合はpage_1が表示され、そうでない場合はpage_2が表示されます。
<?php
$user = $facebook->getUser();
if ($user) {
try{
$user_profile = $facebook->api('/me');
$likeID = $facebook->api(array( 'method' => 'fql.query',
'query' => 'SELECT url FROM url_like WHERE user_id = "'.$user_profile['id'].'" AND url="myurl/"'; ));
}
catch(FacebookApiException $e) { }
}
if(count($likeID)>0) echo "User likes this page";
else echo "User doesn\'t like this page";
?>
問題へのより良いアプローチは次のとおりです。
// to generate user access token after the user is logged in
$USER_ACCESS_TOKEN = $facebook->getExtendedAccessToken();
$isFan = curl("https://api.facebook.com/method/pages.isFan?format=json&access_token=" . $USER_ACCESS_TOKEN . "&page_id=" . $FACEBOOK_PAGE_ID);
function curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
require 'facebook.php';
$app_id = "your app id";
$app_secret = "your app secret";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true,
));
$signed_request = $facebook->getSignedRequest();
$like_status = $signed_request["app"]["liked"];
if ($like_status == 1){
echo 'User likes this page';
}
else{
echo 'User doesn\'t like this page';
}
たぶん、あなたはこのような何かを試してみるべきです、正確なアプローチについてはFacebookのPHPSDKリファレンスページをチェックしてください。