我会做的是删除我尝试过的所有东西,并让你通过我的步骤,直到它停止工作.
步骤1:设置JavaScript SDK和XFBML
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en">
然后,在我的< body>标签,我补充说:
<script src="http://static.new.facebook.com/js/api_lib/v0.4/FeatureLoader.js.PHP" type="text/javascript"></script>
现在这里有第一个问题我有but have now solved.问题是,JavaScript SDK的文档说,FB.init()方法requires the appId作为一个参数,但事实证明是不正确的.我需要通过我的apiKey.所以这是我结束的代码,就在我的< / body>之前标签:
<div id="fb-root"></div> <script src="http://connect.facebook.net/en_US/all.js"></script> <script> FB.init({ apiKey : '<?PHP echo $this->config->item('facebook_api_key'); ?>',status : true,cookie : true,xfbml : true }); </script>
现在我可以将XFBML实体添加到我的页面,例如< fb:login-button>< / fb:login-button>其工作正如预期.我点击它,它弹出一个框,询问我是否允许我的网站访问我的Facebook个人资料.我说是的,然后如果我在Facebook上查看我的应用程序设置,我可以看到我的网站已经添加.
所以这一步工作正常.
步骤2:设置PHP库
好的,所以现在我需要添加PHP库.所以一个快速谷歌搜索’codeigniter facebook库’显示Elliot Haughin’s library.我下载的文件,把它们都放在正确的地方,然后加载库.
现在出现当前问题.我将以下代码(从库中给出的示例中取出)添加到我的控制器构造函数,以便它在每个页面上发生:
$this->load->library('facebook_connect'); $this->data['fb_user'] = $this->facebook_connect->user; $this->data['fb_userid'] = $this->facebook_connect->user_id;
但是如果我做print_r($this-> data [‘fb_user’]);我什么都没有永远.我是否登录到Facebook,注销,登录并将我的网站添加到我的个人资料等等.用户和user_id永远不会设置.我没有任何错误.
据我所知,这些值应该被设置,以便我知道浏览我的网站的人是否登录到他们的Facebook帐户.如果是,我可以看看他们是否允许我的申请.如果他们允许,我可以让他们断开我的网站,如果没有,我可以让他们连接.但是如果这些变量没有被填充,我不能做任何事情.
我试图在图书馆的源头附近戳,但我真的不能让我的头脑.我希望实际的解决方案不会涉及图书馆的分裂.我期望一个CodeIgniter特定的库可以工作.
有任何想法吗?
非常感谢. 原文链接:https://www.f2er.com/php/139392.html