【发布时间】:2011-01-02 03:18:37
【问题描述】:
所以也许文档已经过时了,或者我刚刚离开这里。但我已经完成了大量 FB iframe 应用程序(连接),但我正在启动我的第一个 FB Connect 站点。从 localhost 运行它,连接 URL 是 http:// my_external_IP_address。当我点击我网站上的 FB 登录按钮时,它会弹出,说正在等待 facebook,它会在该框中返回我的网站,URL 位于顶部,http:// mysite/?session={session key, user_id, etc.} user_id 实际上是我的 FB id。所以它认为我已登录。如果我关闭弹出窗口,我没有登录。我不确定为什么弹出窗口没有执行正常的 fb 连接对话框。我正在执行这些步骤。
(我在 http:// 中添加了空格,以免被检测为“垃圾邮件”)
html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"- 就在
<body> <script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript">之后 - 最后,在正文关闭标记之前:
script type="text/javascript"> FB.init("fbkey", "http://127.0.0.1/xd_receiver.htm");我尝试过使用xd_receiver.htm、/xd_receiver.htm(和其他组合),这会打开一个空白页。使用http://127.0.0.1 至少可以做一些事情。
在我的配置文件中,它在所有这些之前调用,它检查 PHP 会话密钥 查看他们是否已登录,如果不存在,则查找 cookie,如果不存在,则执行以下操作:
require_once('includes/facebook.php');
$facebook = new Facebook($fbkey, $fbsec);
$user_id = $facebook->get_loggedin_user();
if($user_id > 0){
$user = $ac->getUserFromFB($user_id);
$_SESSION['user_id'] = $user['user_id'];
}
当我将它回显到屏幕进行测试时,user_id 始终为空。会话事件也永远不会发生。所以我不知道它在弹出窗口中做了什么,但我认为 Facebook 认为它正在让我登录。不确定。相当难倒这个。任何帮助,将不胜感激。谢谢!
【问题讨论】: