我正在使用 facebook javascript sdk 连接到 facebook
但是 FB.Event.subscribe auth.login 没有被触发。
这是我正在使用的代码
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : 'xxxxxxxxx', // App ID from the app dashboard
channelUrl : 'MychannelUrl', // Channel file for x-domain comms
status : true, // Check Facebook Login status
xfbml : true // Look for social plugins on the page
});
// Additional initialization code such as adding Event Listeners goes here
FB.Event.subscribe('auth.login', function(response) {console.log('event fired');
if(response.status === 'connected') { console.log('connected'); }
});
}
// Load the SDK asynchronously
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
最佳答案
好吧,不要使用 auth.login,而是使用 auth.statusChange
FB.Event.subscribe('auth.statusChange', function(response) {
if (response.status === 'connected') {
//the user is logged and has granted permissions
} else if (response.status === 'not_authorized') {
//ask for permissions
} else {
//ask the user to login to facebook
}
});
请记住,仅当用户状态发生更改时才会触发此操作,因此如果您想在首次运行时获取用户的状态,请使用 FB.getLoginStatus()
函数。此函数给出的响应与 auth.statusChange
事件、connected
和 not_authorized
关于javascript - FB.Event.subscribe auth.login 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15903738/