我目前正在尝试开发一个我只希望粉丝访问的 Facebook 应用程序。因此,为了检查用户是否喜欢我链接到游戏的粉丝页面,我使用了以下代码:
<?php
$our_page_id = 'page_id';
$user_is_fan = false;
$likes = $facebook->api( '/me/likes?fields=id' );
foreach( $likes['data'] as $page ) {
if( $page['id'] === $our_page_id ) {
$user_is_fan = true;
break;
}
}
echo "likes:" . $likes;
echo "fan:".$user_is_fan;?>
这是我通过文档生成的点赞按钮:
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=14XXXX";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
</div>
<div class="fb-like" data-href="http://www.facebook.com/pages/xx/xx?fref=ts" data-send="false" data-width="450" data-show-faces="true"></div>
我目前收到有关无效 OAuth 令牌的错误,但是当我删除检查 facebook 喜欢的部分时,它可以正常工作。另外,我尝试了 FB.Event.subscribe('edge.create') 函数来尝试在单击类似按钮时检查事件,但它没有显示警报。
早些时候,这就像一个魅力但是现在,无论我点击多少喜欢按钮,$user_is_fan 都会返回 false。我在这里做错了吗?还是我错误地执行了这个?
是否有另一种有效的方法来检查 Facebook 中的点赞数?请帮忙。注意:我使用的是 Facebook PHP SDK。