Facebook getUser()始终返回0

时间:2012-07-15 08:06:25

标签: php facebook cakephp

我开发了一个简单的方法来进行Facebook登录,这是代码:

   public function auth()
   {   
      $config = array(
         'appId'  => Configure::read('FB.id'),
         'secret' => Configure::read('FB.secret'),
         'cookie' => true      
      );

      $this->provider = new Facebook($config);

      $user = $this->provider->getUser();

      debug($user);
      debug($_GET['code']);

      if ($user)
        {
            return $user;
      }          

      // Errors?
      if (!isset($this->controller->request->query['error']))
      {
         $params = array(
            'scope'        => Configure::read('FB.scope'),
            'redirect_uri' => Configure::read('FB.callback')
         );

          // Redirect login page
         $this->controller->Session->write('login.redirect', $this->provider->getLoginUrl($params));                                               
      }
        return false;
   }

方法很简单,我已经关注了Facebook SDK示例。

我在检索用户信息时遇到问题,因为当Facebook调用我的redirect_uri时,我会得到以下参数(querystring)

所以,我没有从Facebook得到任何错误.....但getUser()仍然返回0。

为什么?

#####编辑:#####

真的太奇怪了...只有当我用facebook app uri更改重定向uri时,它才有效,我改变了:

https://www.mywebsite.com/panel/

https://apps.facebook.com/MY_APP/panel/

它有效....嗯,为什么我必须使用Facebook URL?

P.S。我正在使用CakePhp,我知道有些插件可以为我做这个Job,但我也是从CakePhp开始的,所以我会学习编写它的代码。

0 个答案:

没有答案