Facebook PHP 3.0.1 SDK API,getUser()始终==0!为什么?

Facebook PHP 3.0.1 SDK API,getUser()始终==0!为什么?,facebook,Facebook,我有以下代码: $facebook = new Facebook(array( 'appId' => '###', 'secret' => '###' )); $user = $facebook->getUser(); $user始终为0,我的AppId和Secret都是100%正确的。我做错了什么?确保您有一个if条件来检查用户状态 $user=$facebook->getUser(); if($user) //someactions else { /

我有以下代码:

$facebook = new Facebook(array(
    'appId' => '###',
    'secret' => '###'
));
$user = $facebook->getUser();

$user始终为0,我的AppId和Secret都是100%正确的。我做错了什么?

确保您有一个if条件来检查用户状态

$user=$facebook->getUser();
if($user)
//someactions
else
{
// redirect the user to login and authorize your application, if necessary
header('Location:'.$facebook->getLoginURL());
}

请检查函数的大小写。我可能错了。

只要检查一下你的facebook,如果你放对了网站url。。。用于测试的LOCALHOST或您的

我曾经遇到过同样的问题。。。
我只是通过纠正会话中的问题来解决它

我已经将示例添加到本地主机的虚拟主机中,添加了我的AppId和secret,而且仍然如此。没有什么!是否将用户重定向到getLoginURL()?用户必须先对你的应用进行身份验证,然后才能获取他们的用户id。我的Facebook配置似乎有问题,尤其是你放置网站url和域的字段。仍在调查中。当我在本地主机上尝试此功能时,效果很好。但是从mydomain.loc开始,它失败了,即使我在Facebook上更新了域,我也尝试了降级到Facebook 2.1.2,使用$Facebook->getSession(),但仍然没有,是的,我登录到了Facebook。显然,是的,但是如果getUser总是返回0,那么转到if语句就没有意义了。这是有帮助的,尽管如此,谢谢你的发帖!。。。我的意思是,我应该能够登录到Facebook本身,然后getUser()应该会发现我是用Facebook登录的。不完全是。如果您的应用未被授予对用户(无论是您还是其他人)的访问权限,则getUser()不应返回除0以外的任何内容。一旦您进行了身份验证(转发至getLoginUrl),则您的应用程序具有访问权限,并应返回一个用户。此外,如果您已登录并已对应用程序进行了身份验证,anbd仍会以某种方式获得0,这样你会得到一个无限的重定向循环。这并不能回答这个问题。哎呀,真的吗HELPS@BeauGrantham你怎么能说这对你没有帮助。我刚刚发现会话FB-SDK产生了getting问题,通过在整个会话期间正确管理会话,这一问题得到了解决。