用户无法使用facebook php sdk使用CodeIgniter登录

时间:2011-11-21 04:15:52

标签: codeigniter facebook-graph-api facebook

我正在按照指南here来玩facebook php sdk,但是我的小应用程序无效。它一直停留在登录页面上。

这是控制器:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Facebook_connect extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form','url'));
        $this->load->library('fb_connect');
    }

    function index()
    {

    }

    function test()
    {
        $data['title'] = 'Facebook API Testing';

        $data['user_id'] = $this->fb_connect->user_id;
        if($data['user_id'])
        {
            $data['user_profile'] = $this->fb_connect->user;
        }
        if($data['user_id'])
        {
            $data['logout_url'] = $this->fb_connect->getLogoutUrl();;
        }
        else
        {
            $data['login_url'] = $this->fb_connect->getLoginUrl();
        }

        $this->template->load('template', 'facebook_connect/test', $data);
    }
}
?>

以下是观点:

<h1>php-sdk</h1>

<?php if($user_id): ?>
  <a href="<?php echo $logout_url; ?>">Logout</a>
<?php else: ?>
  <div>
    Login using OAuth 2.0 handled by the PHP SDK:
    <a href="<?php echo $login_url; ?>">Login with Facebook</a>
  </div>
<?php endif ?>

<h3>PHP Session</h3>
<pre><?php print_r($_SESSION); ?></pre>

<?php if($user_id): ?>
  <h3>Your Avata</h3>
  <img src="https://graph.facebook.com/<?php echo $user_id; ?>/picture">

  <h3>Your User Object (/me)</h3>
  <pre><?php print_r($user_profile); ?></pre>
<?php else: ?>
  <strong><em>You are not Connected.</em></strong>
<?php endif ?>

我陷入困境,无法弄清楚原因。

1 个答案:

答案 0 :(得分:0)

使用facebook提供的示例:

https://github.com/facebook/php-sdk/blob/master/examples/example.php

但请保留$this->load->library('fb_connect');,并确保在该示例中将$this->fb_connect添加到任何Facebook库调用中。

100%工作。尝试将所有代码放入控制器以确保其有效,然后根据需要进行分发。不确定你的问题是什么,也许是错误的返回网址。