0

我正在测试一些基于 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()”回显测试返回 0。即使$loginUrl设置为 URL,当我单击它时,它也会将我带到同一个 index.php 页面。

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

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

4

1 回答 1

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(); 
于 2012-05-28T21:10:27.247 回答