2

请看一下我的代码..

 <?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 和密钥是正确的。

4

2 回答 2

0

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

  • 尝试在 facebook 中以该用户身份登录,然后调用 getUser() 方法。
  • 'cookie' => 'true' 是可选的吗?如果是这样,请尝试删除该配置参数。确保正在创建您的 facebook 对象。
  • 检查您的日志以查看代码是否未生成任何错误。
于 2013-03-15T08:07:45.593 回答
0

出色地!!包括我在内的大多数人都对在注册应用程序后立即制作他们的应用程序感到好奇。我没有对上面的代码做任何改动。

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

于 2013-03-15T15:47:04.913 回答