我正在开发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
答案 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'));