即使我已登录,getUser()也始终返回0

时间:2012-05-28 20:53:41

标签: php facebook-graph-api facebook-php-sdk

我正在测试一些基于example.php的代码,getUser()返回0,即使我当前已登录FB。我的index.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>";
}

?>

当我进入index.php页面时,“getUser()返回”echo test返回0.即使$loginUrl设置为URL,当我点击它时,它只需要我相同的index.php页面。

如果我退出FB并重新加载页面,当我点击“登录”时,我会被带到Facebook登录我的应用程序。然后,当我成功登录时,我回到了index.php页面,其中包含无效的登录URL,并且getUser()继续返回0。

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

1 个答案:

答案 0 :(得分:0)

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

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