我正在按照指南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 ?>
我陷入困境,无法弄清楚原因。
答案 0 :(得分:0)
使用facebook提供的示例:
https://github.com/facebook/php-sdk/blob/master/examples/example.php
但请保留$this->load->library('fb_connect');
,并确保在该示例中将$this->fb_connect
添加到任何Facebook库调用中。
100%工作。尝试将所有代码放入控制器以确保其有效,然后根据需要进行分发。不确定你的问题是什么,也许是错误的返回网址。