FB.Event.subscribe('auth.login', function(response) {
FB.api('/me', function(response){
//Some operation
});});
以上JavaScript代码在用户通过Facebook登录时运行
或
当用户已经登录浏览器并打开包含上述JavaScript的页面时。
是否有办法只在用户第一次登录时执行该操作,而在用户已经登录浏览器时转义该操作?
运行FB。getLoginStatus查看用户是否已经连接到你的应用程序并登录。https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/
FB.getLoginStatus(function(response) {
if (response.session) {
// logged in and connected user, someone you know
} else {
// no user session available, someone you dont know
}
});
当且仅当用户未连接时尝试订阅事件
function listen_for_authorization (cb) {
FB.getLoginStatus(function (res) {
if (!res || res.status !== "connected") {
FB.Event.subscribe('auth.login', cb);
}
}
}
我们在Safari/Mac, Firefox/Windows, Internet Explorer中复制了这个。
见http://developers.facebook.com/bugs/255767001140894