Javascript Facebook登录按钮,oauth 2未调用auth.login

Javascript Facebook登录按钮,oauth 2未调用auth.login,javascript,facebook,facebook-javascript-sdk,oauth-2.0,Javascript,Facebook,Facebook Javascript Sdk,Oauth 2.0,我们的Asp.net网站一直在使用facebook登录按钮w/javascript sdk来处理登录过程,现在Oauth从2011年12月15日起是强制性的,昨天它被破坏了。我已经做了一些提到的明显的改变,但仍然有一些错误。具体地说,当FB.init的参数设置status=false时,auth.login事件永远不会触发,这是一个问题,因为我使用该事件的回调调用另一个页面,该页面根据生成的cookie中的授权令牌执行一些服务器端开放图查询。如果我将status设置为true,则会触发事件,但未

我们的Asp.net网站一直在使用facebook登录按钮w/javascript sdk来处理登录过程,现在Oauth从2011年12月15日起是强制性的,昨天它被破坏了。我已经做了一些提到的明显的改变,但仍然有一些错误。具体地说,当FB.init的参数设置status=false时,auth.login事件永远不会触发,这是一个问题,因为我使用该事件的回调调用另一个页面,该页面根据生成的cookie中的授权令牌执行一些服务器端开放图查询。如果我将status设置为true,则会触发事件,但未设置cookie,因此无法进行服务器端的开放图查询

下面是我的javascript代码,稍微编辑了一下…:

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

        FB.Event.subscribe('auth.login', function (response) {
            if (response.authResponse && response.authResponse.accessToken)
                FacebookLoginRedirect(); 
        });
   }
有什么想法吗

谢谢

尝试FB.getLoginStatus,而不是if response.authResponse&&response.authResponse.accessToken


请参阅详细示例:

希望有人会觉得这很有用-我能够听到另一个事件:auth.statusChange,检查响应,然后继续。有一件事是,一旦我成功登录,我就必须取消订阅此活动,但它似乎正常工作。

请收听auth.statusChange:

FB.Event.subscribe('auth.statusChange', handleStatusChange);

如果fb.init{…,status:true,…},那么这是可行的,但是我想将status=false设置为与我的现有代码一起工作。当status=false时,不会触发auth.login事件。这是个大问题。