我第一次尝试FB登录网站。我能够看到FB按钮和弹出窗口显示的是使用我的应用名称看起来正确的FB登录,所以我认为这部分是好的。我的问题是点击登录后我输入用户/通行证,然后窗口关闭,没有其他事情发生。我知道我已登录,因为当我再次单击FB时会弹出并关闭,所以我猜它知道我已登录到FB。但是我无法看到我写入控制台的任何调用,而且我不确定如何在登录后让它做其他事情......也许我不明白登录FB后会发生什么,我错过了什么? 。这是我到目前为止所尝试的。
window.fbAsyncInit = function() {
FB.init({
appId : 'XXXXXXXX', // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
}
function doLogin() {
FB.login(function(response) {
if (response.authResponse) {
console.log('Hello! Getting account information.... ');
FB.api('/me', function(response) {
console.log('Hello, ' + response.name + '.');
});
} else {
console.log('User not fully authorize.');
}
});
}
// Load the SDK asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
function testFbLogin() {
console.info("Testing you are Logged in...");
}
答案 0 :(得分:0)
在您的FB应用配置中,此应用可以使用的域和子域设置。
我想您正在尝试使用某些开发计算机的登录名,该名称与FB应用程序的域和子域的已配置参数不匹配。
如果您检查网络通信(Crome开发人员工具非常好并且易于使用),您将看到FB返回的错误,这将使您更好地了解发生的情况。
如果是这种情况,那么: 打开/ etc / hosts(unix)或C:\ WINDOWS \ system32 \ drivers \ etc \ hosts。 如果您配置的域是example.com,则添加以下行:
127.0.0.1 dev.example.com
进行测试时,请在浏览器中打开dev.example.com,它应该可以正常运行。
作为替代方案,您可以在FB上编辑您的应用并将“网站网址”设置为
http://localhost/myapppath or only http://localhost