帮助facebook连接PHP网站

时间:2009-12-27 21:16:14

标签: php facebook

我有大约90%的PHP代码用于与我的社交网络进行非常好的facebook连接集成,但我遇到了一个巨大的问题。

下面这段代码应该在页面上显示一个facebook连接按钮,但它根本不显示任何内容。

<body onload="initFB();">

<fb:login-button length="long" background="light" size="medium"></fb:login-button>

<script type="text/javascript">
function fbConnect() {
    FB.init("", "/testing/facebook/xd_receiver.htm",{"reloadIfSessionStateChanged":true});
}
</script>

此外,如果我硬编码一个html弹出窗口为facebook连接打开然后当它打开它与连接页面似乎工作,现在一切正常,除了在登录之前或之后显示我的页面上的任何Facebook东西它

任何想法都可能出错?我认为它必须对这个xd_receiver.htm文件做一些事情,facebook要求你把它放在你想要使用facebook连接的页面上,它使javascript工作和东西,我尝试了不同的文件路径等等,看看是否这有所作为,但似乎没有帮助

2 个答案:

答案 0 :(得分:2)

很难说出你发布的代码发生了什么。您<body>的{​​{1}}事件似乎onload,但您发布的代码中不存在该功能。也许你的意思是在那里拨打initFB(),这会调用您指定的fbConnect()

使用FB.init(),您必须确保Facebook可以访问您的xd_receiver.htm文件。这很重要。尝试通过键入您设置的URL手动访问它,并确保它正常运行。仔细检查相对路径是否正确,并确保在应用程序设置控制面板中正确设置了连接URL 。如果没有将此文件提供给Facebook的服务器,将导致任何XFBML标签完全失败,听起来这可能是您在此处收到的错误消息判断的问题。

修改

关于XFBML的更多要点:

  • 要使XFBML代码生效,您必须在FB.init代码中指定xmlns:fb="http://www.facebook.com/2008/fbml"作为属性。例如:

    <html>

  • 您需要使用Facebook库的<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">调用来加载XFBML解析器

  • 您需要包含RequireFeatures库。

我建议您详细了解所有这些内容的XFBML setup docs,并确保您已满足所有这些要求。从你发布的代码来看,它们看起来并不像那些东西。

答案 1 :(得分:1)

不确定,但如果您已经登录到fb,则fb:login-button将不会显示任何内容。当autologoutlink为true时,在这种情况下会显示注销链接。