Facebook PHP SDK Verify Like返回“;NOT A FAN”;对于一些粉丝来说


Facebook PHP SDK Verify Like returns "NOT A FAN" for some Fans

我们正与一个让我发疯的问题作斗争。

正在使用此代码。。。

$facebook = new Facebook($config);
$uid = $facebook->getUser();
if ($uid) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $uid = null;
  }
}
if(!$uid) {
$params = array(
  'scope' => 'email',
  'redirect_uri' => 'https://www.mysite.com/'
);
$loginUrl = $facebook->getLoginUrl($params);
header("Location: $loginUrl");
}
$email = $facebook->api('/me?fields=email');
$email = $email['email'];
$verifyLike = $facebook->api('/me/likes/page_id');
if($verifyLike['data']) {
    echo "FAN"; 
} else {
    echo "NOT A FAN";
}

我们有大约8%的用户看到"不是粉丝",他们实际上是我们页面的粉丝。

我一辈子都无法解决这个问题,而且我已经没有什么想法了。

有人知道是什么导致了这个问题,更重要的是,我们能做些什么来解决它吗?

谢谢。

更新日期:2012年2月25日向Facebook报告了这个错误,他们将错误状态更改为"Triaged",优先级更改为"Low",但他们还没有解决方案,仍在调查中。没有其他人遇到这个问题?

这不是facebook的错误,如果用户的页面设置为低于所有人的隐私,则必须向用户请求user_likes扩展权限。

因此,这8%的用户在他们的facebook个人资料上有更多的隐私,他们的点赞是不公开的。对于所有其他用户,您甚至不需要在api请求中使用有效的access_token。