getUser() 总是返回 0,即使我已登录


getUser() always returns 0, even if I'm logged in

我正在根据示例测试一些代码.php,即使我目前登录FB,getUser()也返回0。 我的索引.php页上的代码如下所示:

<?php
include 'fbLibrary/facebook.php';
$facebook=new Facebook(array(
        'appId' => 'myAppID',
        'secret' => 'mySecret',
        'cookie' => true
        ));

$user=$facebook->getUser();
echo "getUser() returned " . $user . "<p>";

if ($user)
{
    //fb query
    try
    {
        $me=$facebook->api('/me');
        print_r($me);
    }
    catch (FacebookApiException $e)
    {
        echo $e->getMessage();
    }
}

if ($me)
{
    $logoutUrl=$facebook->getLogoutUrl();
    echo "<a href='$logoutUrl'>Logout</a>";
}
else
{
    $loginUrl=$facebook->getLoginUrl(array(
        'scope' => 'friends_status,publish_stream'
    ));
    echo "<a href='$loginUrl'>Login</a>";
}
?>

当我转到索引.php页面时,"getUser() 返回"回显测试返回 0。 即使$loginUrl设置为URL,当我单击它时,它只会将我带到相同的索引.php页面。

如果我退出FB并重新加载页面,当我单击"登录"时,我会被带到Facebook以登录到我的应用程序。 然后,当我成功登录时,我回到了具有不起作用的登录URL的索引.php页面,getUser()继续返回0。

我昨天刚刚下载了 PHP SDK,所以我假设它是最新的。

然后你可以设置 FB 类的参数域。 像这样:

<?php
$facebook = new Facebook(array(
'appId' => APP_ID,//$app_id,
'secret' => APP_SECRET,//$app_secret,
'cookie' => true,
'domain'=>'xxxdomain.com',
));
$session = $facebook->getUser();