我在我的网站上登录Facebook。我正在使用JS-SDK,再加上PHP-SDK。
我99.9%确定我在正确的位置拥有所有正确的文件,因为实际的登录工作正常。但是,一旦用户登录,我就无法启动页面来重新加载。
这是facebook登录按钮代码('Scope'是新的'perms',正如我今天刚刚发现的那样):
<fb:login-button scope="email,user_birthday">Sign In</fb:login-button>
一旦用户授权等,对话框关闭,但没有任何反应。用户尚未登录,并且页面未重新加载。
当我手动重新加载时,用户已登录。
这是我的页脚中应该监听登录的代码:
<script>
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
</script>
在我的Chrome开发者工具JS控制台中,我收到一条错误消息“未捕获的参考:FB未定义”。即使在点击Facebook登录按钮之前,页面加载时也会出现此错误。
关于我可能做错什么的任何想法?谢谢!
答案 0 :(得分:0)
我发现将应用程序机密传递给auth.login调用会导致事件正确触发。您可以将应用程序密钥从PHP传递给javascript函数,如下所示:
<script>
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
}, secret: '<?php print $facebook->getApiSecret(); ?>');
</script>
击> <击> 撞击>
此后由Facebook修复。