facebook-graph-api - Facebook JS SDK - FB.getLoginStatus = undefined

标签 facebook-graph-api facebook facebook-javascript-sdk

我正在使用 Facebook 的 JavaScript SDK 并尝试确定用户是否已登录,我有以下代码:

        window.fbAsyncInit = function() {       
             FB.init({ 
                appId:'139894666087975', cookie:true, status:true, xfbml:true 
             });

            $('.login_fb').click(function(){
                FB.login(function(response) {
                if(response.session)
                {   
                    if (response.perms) {
                        window.location.reload();
                    }
                }
                },{perms:'email,user_birthday,user_hometown,user_location,publish_stream'});
            });

            FB.getLoginStatus(function(response) {
                                       alert(response.authResponse);
              if (response.authResponse) {
                  alert(response.authResponse);
              } else {
                $.blockUI({ 
                    message: $('#fblogin'),
                    css: {
                        top: '9%',
                        left: ($(window).width() - 700) /2 + 'px',
                        width: '700px',
                        cursor: 'hand',
                        border:  '10px solid #ccc', 
                        }
                }); 
            }
            }); 
        };  

getLoginStatus 的 response.AuthResponse 是“未定义的”,但我实际上是使用为此应用设置的权限登录的。

知道为什么它会继续显示为未定义吗?当我尝试再次登录时,它只是关闭 Facebook 框(因为我已经登录)并刷新页面,再次显示“未定义”。

感谢您的帮助!

最佳答案

您在其中混合了 OAuth 和 OAuth 2 对象。使用 oauth : true(推荐为 all apps must use OAuth 2 by Oct 1)将 init 设置为使用 OAuth 2,并始终使用 response.authResponse 而不是 response.session 或使用 OAuth 1 并始终使用 response.session。如果你转到 OAuth 2,你还需要使用 scope 而不是 perms 来获得你想要的权限。

关于facebook-graph-api - Facebook JS SDK - FB.getLoginStatus = undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7223937/

相关文章:

Facebook 不允许使用应用访问 token 来列出好友。我没有遗漏任何东西,不是吗?

android - Unity facebook sdk 'Didn' t find class "com.facebook.FacebookContentProvider"'对此还有什么建议吗?

ios - 是否可以在 sprite-kit 游戏中使用 Twitter/Facebook 分享按钮?

android - Facebook 与来自 Android 应用程序的元数据共享链接

javascript - facebook js sdk。如何在用户没有实际登录 Facebook 的情况下登录 Facebook?

ios - 获取 Facebook 好友的电话和电子邮件

php - Facebook:如何解析访问 token 字符串

checkbox - 请求对话框复选框选项 "don' 发送前询问...”

facebook - 您如何获得 URL 的总点赞数(点赞数和分享数)?

android - 像 Facebook 一样实现聊天头像