facebook getuser。它总是返回零

时间:2013-03-14 21:12:54

标签: php facebook facebook-graph-api

请一瞥我的代码..

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

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

?>
<!DOCTYPE html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
    <meta charset="utf-8" />
    <title>Facebook PHP</title>
</head>
<body>
<h1>Hello World</h1>
<?php
    //get user from facebook object
    $user = $facebook->getUser();

    if ($user): //check for existing user id
        echo '<p>User ID: ', $user, '</p>';
    else: //user doesn't exist
        $loginUrl = $facebook->getLoginUrl(array(
            'diplay'=>'popup',
            'redirect_uri' => 'http://apps.facebook.com/returnpath/'
        ));
        echo '<p><a href="', $loginUrl, '" target="_top">login</a></p>';
    endif; //check for user id
?>
</body>
</html>

现在,getUser()方法总是返回0并进入else。我总是得到“登录”,即使我登录也一样。如果有任何问题,请告诉我。我已经看到很多这样的问题,但没有一个完全解决问题..我的appid和密钥是正确的。

2 个答案:

答案 0 :(得分:0)

根据SDK docs,如果用户尚未登录,您将在$facebook->getUser()上获得零值。

  • 尝试在Facebook中以该用户身份登录,然后调用getUser()方法。
  • 是'cookie'=&gt; '真'可选吗?如果是这样,请尝试删除该config参数。确保正在创建您的facebook对象。
  • 检查您的日志,看看代码是否没有产生任何错误。

答案 1 :(得分:0)

嘛!!包括我在内的大多数人都很想在注册应用程序后立即制作应用程序。我没有对上面的代码进行任何更改。

默认情况下,对应用FB进行盛大访问需要24小时。因此,您将无法获得用户ID或有关用户的任何详细信息。请等24小时。