Facebook标签应用程序 - 开发帐户工作正常,非开发 - 登录状态未选中

时间:2014-04-07 10:36:22

标签: facebook facebook-javascript-sdk

所以,我已经创建了你的标准facebook测试应用程序。它有javascript SDK加载块和后面的代码:

window.fbAsyncInit = function()
{
    console.log('initiating FB');
    FB.init({
        appId:      appID,
        status:     true, // check login status
        cookie:     true, // enable cookies to allow the server to access the session
        xfbml:      true  // parse XFBML
    });

    FB.Event.subscribe(
        'auth.authResponseChange',
        function(response)
        {
            console.log('authResponseChange', response);
            if (response.status === 'connected')
            {
                console.log('logged in');
            }
            else
            {
                console.log('not logged in');
            }
        }
    );
};

问题:使用我的开发帐户,每个console.log()都会按预期记录。如果帐户与应用程序没有任何关联,则只会记录“启动FB”,之后不会发送任何内容,即使是status: true。为什么会这样?

1 个答案:

答案 0 :(得分:0)

没关系,因为州没有变化。

  

当身份验证响应发生更改时,将触发auth.authResponseChanged事件。 authResponse是查询人员身份验证状态时返回的响应对象的一部分。它包含人员访问令牌,当令牌到期时以及该人的用户ID。

对于应用程序用户,当您运行应用程序状态时,由于您已设置status: true,因此状态已更改为登录,因此会触发此事件并获得logged in并进入会话。

但是当您为未登录/非应用程序用户运行应用程序时,由于状态未更改,此事件将不会触发。这是"未登录"或"未授权"早些时候和现在一样。

当您为未登录的用户/非应用用户呼叫facebook登录时,状态将会更改,您将看到您的日志为"已登录"或者"未登录"。