我在我的网站上有一个喜欢的按钮(这是为用户喜欢fb粉丝页)。
如果用户点击like,我检查是否触发了even(事件订阅),然后显示一些内容给他们。
我真正希望得到的帮助是:
如果用户登录到facebook和他们已经喜欢的页面,我希望它显示"你已经是一个粉丝!"并显示内容。(而不是显示灰色的like按钮)
或
如果用户没有登录到facebook,他们点击喜欢按钮,我希望它显示"你已经是一个粉丝!"并显示内容。(而不是显示灰色的like按钮)
伙计们,我在SO上研究过这个问题,发现了类似的问题,但不是我想要的。也许我错了,但如果有人能提供一个链接,其中描述了我的确切问题,这将是一个更有帮助的-在这个问题上。我检查了以下内容:检查用户是否连接到facebook,然后检查他是否喜欢一个页面
Facebook点赞框:如何检测用户是否已经点赞页面?
当页面已经被用户喜欢时,Facebook的LIKE按钮隐藏
如何使用php/javascript检查用户是否喜欢页面
检查用户是否已经点赞了
如果你使用facebook php API。我想出了这个简短的函数,你可以将它包含在base_facebook.php文件中的BaseFacebook.
public function userIsFan() {
$sr = $this->getSignedRequest();
if($sr && is_array($sr)){
if(array_key_exists('page', $sr)){
return $sr['page']['liked'] == 1;
}
}
return 0;
}
确保您使用的是xfbml,这个适合我
FB.Event.subscribe('auth.authResponseChange', function(response) {
FB.api('/me/likes/[page_id]',
function(response) {
//console.log(response); - see what the response is on your console.
if(response.data[0])
//use script to display your content alert("Liked");
else
// just do nothing, display like button alert("Not yet liked");
}
);
});
page_id将是您页面的id而不是名称,要查找id,只需访问http://graph.facebook.com/[your fb page name]
希望这对将来的人有所帮助