Facebook PHP在页面选项卡中获取用户信息,重定向到登录后getUser返回0

时间:2013-03-26 13:31:07

标签: php facebook redirect permissions

我正在尝试创建一个竞赛条目,在进入之前检查用户是否喜欢某个页面。如果他们这样做,它将获取他们的名字,电子邮件和生日的竞争条目详细信息。

但出于某些原因,我无法使用我的PHP代码。

    <?php
    require 'src/facebook.php';

    // Create our Application instance (replace this with your appId and secret).
  $facebook = new Facebook(array(
    'appId'  => 'XXX',
    'secret' => 'XXXX',
  'cooke' => true
));

// Get User ID

$user = $facebook->getUser();

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $me = $facebook->api('/me?fields=likes.target_id(215359398497970),birthday,first_name,last_name,email');
    if($me){
        $first_name = $me['first_name'];
        $last_name = $me['last_name'];
        $email = $me['email'];
        $dob = $me['birthday'];
        die($me);
    } else {
        $likes = false;
    }
  } catch (FacebookApiException $e) {
    die($e);
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
  //echo $loginUrl;
}
?>

出于某种原因,它会陷入重定向循环,因为loginURL似乎没有记录我的用户。

2 个答案:

答案 0 :(得分:0)

对于仍在寻找的人。这就是我解决问题的方法。我必须确保在任何其他代码之前执行theis代码,所以我把它放到我的php文件的顶部并且它工作了。我认为问题是标题已经发送但我没有意识到因为我的PHP警告/错误无法显示。

答案 1 :(得分:0)

我遇到了同样的问题。我使用了一个示例项目,并且无法弄清楚为什么它一直返回0.尝试了几乎所有相关链接,但没有解决它。

解决方案是在示例项目中更新Facebook的SDK文件。 简单而容易错过,