Php Facebook SDK getUser()方法在成功授权后返回0
我最近更换了主机,注意到Facebook登录不再有效。它没有抛出任何错误,但根本不起作用 我的代码: 我的工作流程:Php Facebook SDK getUser()方法在成功授权后返回0,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我最近更换了主机,注意到Facebook登录不再有效。它没有抛出任何错误,但根本不起作用 我的代码: 我的工作流程: 用户单击登录按钮(getLoginUrl()方法) Facebook授权窗口弹出 用户接受它并被重定向回我的页面,代码=…&状态= getUser()返回0,但应返回用户ID 我试着用谷歌搜索答案。这就是我所尝试的: 要更改getCode()方法->\u请求问题 打开/关闭cookies 我还可以做些什么来解决这个问题吗?试试下面的方法,在进行身份验证的页面下方添加JS代码 &
我还可以做些什么来解决这个问题吗?试试下面的方法,在进行身份验证的页面下方添加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>
不幸的是,这并没有解决问题。我的网站登录失败:我刚尝试用FB登录到你的网站,但得到一个空白页面。也许你正在修复一些问题,但是你能检查一下你的应用程序设置吗?如果“客户端OAuth登录”设置为“是”,那么“应用程序中心列出的平台”设置为“是”?“客户端OAuth登录”设置为“已启用”,但我在哪里可以找到“应用程序中心列出的平台“?在应用程序详细信息选项卡下,许多用户在nginx服务器上也有类似情况,其中Lib无法正确获取查询字符串,您可能需要对此进行检查。还要确保您的库包含文件fb\u ca\u chain\u bundle.crt。这是lib,最后在app settings app->details->configure app center permissions Auth Token参数中设置为Query string
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();