我最近改变了我的主机并注意到Facebook登录不再有效。它不会抛出任何错误,但它根本不起作用。
我的代码: Tested with the given example
我的工作流程:
我试着用谷歌搜索答案。这就是我试过的:
我还能做些什么来解决这个问题吗?
答案 0 :(得分:0)
尝试以下操作,在您正在进行身份验证的页面下添加JS代码
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function()
{
FB.init
({
appId : 'your fb app id',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
oauth : true
});
FB.Event.subscribe('auth.login', function()
{
window.location.reload();
});
};
(function()
{
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
确保在HTML中添加id =“fb-root”的div并关闭,最佳做法是将其添加到JS代码上方。
然后使用PHP脚本生成登录按钮并在页面顶部添加以下代码,以便在页面重新加载时执行代码
require_once 'src/facebook.php'; //include the facebook php sdk
$facebook = new Facebook(array(
'appId' => 'XXXXXXXXXXXXXX', //app id
'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX', // app secret
));
$user_id = $facebook->getUser();