2012-09-21 70 views
0

我在尝试通过图形API与官方php sdk验证用户时遇到问题。

看起来很简单,但我不能得到它的工作,并getUser()保持返回null。

这里是我的代码减少的最简单形式:

$facebook = new Facebook(array(
     'appId' => 'ID', 
     'secret' => 'SECRET', 
     'cookie' => true 
    )); 

    $user = $facebook->getUser(); 

    if (!$user): 
     $params = array('scope' => 'email','redirect_uri' => 'http://myredirecturi.com'); 
    ?> 
     <a href=" <? echo $facebook->getLoginUrl($params); ?>">Login</a> 
    <? endif; ?> 

所以,当我点击登录按钮,我去Facebook和他们,我赶到重定向URL像它应该是。

我也有GET数据:“代码”和“状态”,所以它看起来不错,但我没有“signed_request”值。

最后,$ facebook-> getUser()保持返回null。

这里有什么问题?

- Facebook对象是否已经初始化? (应该将'cookie'设置为true?)

-redirect_uri也不是https URI。有关系吗 ?

- 我应该在Facebook应用程序设置中寻找什么?

谢谢!

+0

有同样的问题,在这里描述: http://stackoverflow.com/questions/ 7140162/php-sdk-facebook-auth-keeps-redirecting/12709579#12709579 –

+0

那么你的问题解决了吗? – Snehasish

回答

2

很好的答案在这里不知道,如果这是同样的问题,但你为我工作。 基本上直到用户授权应用程序,你不能得到他们的UID。所以即使他们登录应用程序仍然无法访问,直到他们接受。然后UID将被返回。 facebook->getUser() returns 0

1

如果任何人仍然有这个问题,请确保您的应用程序仍然不是沙盒模式:)