シンプルなアプローチはこの方法を使用します
FB.api({
method: "pages.isFan",
page_id: my_page_id,
}, function(response) {
console.log(response);
if(response){
alert('You Likey');
} else {
alert('You not Likey :(');
}
}
);
しかし、このコードは、ユーザーがextended permission
理想的ではないことを許可した場合にのみ機能します。
ここに別のアプローチがあります。
簡単に言うと、「OAuth 2.0 for Canvas」詳細オプションをオンにすると、Facebook は、タブ アプリ内で要求されたすべてのページとともに $_REQUEST['signed_request'] を送信します。その signed_request を解析すると、ユーザーがページを気に入ったかどうかなど、ユーザーに関する情報を取得できます。
function parsePageSignedRequest() {
if (isset($_REQUEST['signed_request'])) {
$encoded_sig = null;
$payload = null;
list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
$sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
$data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true));
return $data;
}
return false;
}
if($signed_request = parsePageSignedRequest()) {
if($signed_request->page->liked) {
echo "This content is for Fans only!";
} else {
echo "Please click on the Like button to view this tab!";
}
}