我正在尝试检查用户是否喜欢我的页面,然后使用我的应用程序使用以下代码
<body onload="liked()">
<script type="text/javascript">
function liked() {
FB.api("me/likes/2002200279160150349", function(response) {
if (response.data.length == 1) {
alert("page liked already");
} else {
alert("page is NOT liked ");
}
});
}
</script>
</body>
确定用户在另一个页面中进行了身份验证并正确登录
答案 0 :(得分:4)
简单方法使用此方法
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!";
}
}