我正在尝试几个小时来检查当前用户是否“喜欢”我的应用。 我确实要求登录时使用“user_likes”权限,但即使我点击“赞”按钮,当我检查用户是否喜欢使用isFan或FQL的应用程序时,我仍然得到零赞!
如果用户“喜欢”该应用,我就会尝试这样做:
$isFan = $facebook->api(array(
"method" => "pages.isFan",
"page_id" => xxxxx,
"uid" => $session
));
if($isFan === TRUE)
echo "I'm a fan!";
OR
$likes = $facebook->api(array(
'method' => 'fql.query',
'query' => "SELECT uid FROM page_fan WHERE page_id='xxxxx' AND uid='$session'",
));
print 'likes found: ' . count($likes) . '<br />';
这两种方法都没有给我任何帮助,如果有人可以帮助我,那就太棒了!
谢谢! 莫蒂
答案 0 :(得分:5)
您希望使用Page ID而不是App ID。我不确定您的页面是否是Facebook页面(facebook.com/pages/ [PAGE_NAME] / [PAGE_ID] )或者您是否有非Facebook页面
显然,如果你有一个Facebook页面,那么URL末尾的数字就是你的页面ID。否则,如果您有非Facebook页面,则可以使用该图表获取您的页面ID。
https://graph.facebook.com/?id= [PAGE_URL]
使用该ID而不是应用ID,它应该为您提供正确的结果。请务必使用Facebook docs
上的工具进行试用答案 1 :(得分:2)
您的网页是否公开?来自squinlan评论中发布的链接:
如果用户的页面设置为低于每个人的隐私,则必须询问用户user_likes扩展权限,并在API调用中包含有效的用户访问令牌。
因此,当您通过documented here进行授权过程时,最终会获得一个访问令牌。然后,将其附加到您发出的任何请求以确保授予正确的权限:
$isFan = $facebook->api(array(
"method" => "pages.isFan",
"page_id" => xxxxx,
"uid" => $session,
"access_token" => $access_token
));