Facebook登录弹出问题

时间:2012-03-02 15:14:07

标签: javascript facebook facebook-graph-api

所以即时开发一个需要Facebook额外权限的应用程序。我有一个请求权限的按钮,并有一个回调执行一些功能。我运行的问题是,如果用户已经授予权限并再次单击按钮,则登录弹出窗口仍会出现并立即关闭。我找到了一种在执行FB.login命令之前检查用户是否具有权限的方法(只有在用户没有权限时才会显示此弹出窗口)但是我会遇到弹出窗口阻止程序问题,因为我将FB.login调用放入否则该支票的陈述。

据我所知,FB.login必须在同一个函数流中,以避免弹出窗口阻塞程序。

这是我的代码:

$('#shareList').click(function (event) {
    FB.api('/me/permissions', function (data) {
        if (data.data[0].photo_upload == 1) {
            $.uploadPic();
            //return false;
            //event.stopPropagation();
        }
    });

    FB.login(function (response) {
        if (response.authResponse) {
            $.uploadPic();
        } else {
            alert('Tekkis viga');
        }
    }, {scope:'photo_upload'});

    return false;
});

理想情况下,我想停止该功能,如果它属于photo_upload检查的检查并继续登录呼叫。我确实尝试了返回false和event.stopPropagation(),但它们似乎不起作用。有什么可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

您正在寻找的功能是 getLoginStatus ,它将为已经过身份验证/登录的用户构建Facebook会话...

http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/