我正在尝试使用他们的 JavaScript SDK 实现登录到 Facebook 的网站。我知道这是引擎盖下的 OAuth 2,尽管这甚至不重要......我正在使用异步加载程序进行设置,并且 FB 变量存在并且我可以在其中调用函数。当我调用 FB.login() 时,会打开另一个选项卡,闪烁几分之一秒,然后关闭。然后我回到我的页面,没有触发任何事件,也没有任何迹象表明发生了任何事情。
我已按如下方式初始化 API:
FB.init({
appId : facebookAppID,
channelUrl : channelFilePath,
status : true,
xfbml : true
});
FB.Event.subscribe('auth.authResponseChange', function(response) {
if (response.status === 'connected') {
console.log("Connected.");
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + '.');
});
} else if (response.status === 'not_authorized') {
console.log("Not logged in.");
} else {
console.log("Still not logged in.");
}
});
然后我的登录调用很简单:
function loginFacebook() {
console.log("Trying to log in.");
FB.login();
}
一个可能相关的细节是,我在非标准端口 1980 而不是 80 上运行用于开发目的。尝试端口 80 对我来说并不容易,因为我正在运行,但如果结果是我绝对可以的问题。
提前致谢。:)