Facebook page_fan返回NULL,无法检查用户是否喜欢页面

时间:2013-12-07 16:00:20

标签: facebook facebook-javascript-sdk facebook-fql facebook-php-sdk

我正在开发Facebook应用程序,我需要知道用户是否喜欢特定页面。

我尝试使用:

$isFan = $facebook->api(array(
    "method" => "fql.query",
    "query"  => "SELECT uid FROM page_fan WHERE page_id = 'SOMEPAGEID' 
                                            AND uid = me()"
));

返回NULL。

我甚至尝试过javascript SDK:

FB.api('/me/likes/SOMEPAGEID', function(response) {
            console.log(response.data);
        });

它什么都不返回。

我要求以下权限:

$scope = "email,user_likes";

我错过了什么吗?

编辑:SELECT *是错误的复制粘贴......它是SELECT uid

1 个答案:

答案 0 :(得分:1)

您的权限看起来正确,但我不认为FQL查询实际上支持SELECT *,您必须手动列出字段

因此,请尝试将您的FQL查询更改为

 select page_id from page_fan WHERE uid = me() AND page_id = PAGE_ID

或者可能是您没有正确编码您的查询。这在图浏览器https://developers.facebook.com/tools/explorer?method=GET&path=fql%3Fq%3Dselect%2Bpage_id%2Bfrom%2Bpage_fan%2BWHERE%2Buid%2B%253D%2Bme%2528%2529

中为我运行
  fql?q=select+page_id+from+page_fan+WHERE+uid+%3D+me%28%29

所以尝试使用

    $isFan = $facebook->api('/fql?q='.urlencode('select page_id from page_fan WHERE uid = me() AND page_id = PAGE_ID'));