2011-05-24 173 views
2

每隔几次,Facebook API调用就没有完成(或者甚至没有完成)。例如,我正在计算用户的朋友的数量,这也使用我的应用程序,但这似乎从来没有计算。我试图调查此问题,但Chrome控制台中没有错误。你有没有遇到过这样的行为,并知道如何解决它?Facebook:JavaScript API有时无法加载

编辑

这里有一些细节,我得到:

error_code 190 
error_msg Error validating access token: The session is invalid because the user logged out or because auth.expireSession was invoked 

的一点是,我退出作为一个用户,然后登录另一个。为什么Facebook将其视为注销用户?此外,如果我然后刷新页面,一切正常。

EDIT2

这是一些代码片段:

function facebookInit(config) { 
    Config = config; 

    FB.init({ 
    appId: Config.appId, 
    xfbml: true, 
    status: true, 
    cookie: true, 
    channelUrl: 
     window.location.protocol + '//' + window.location.host + '/channel.html' 
    }); 
    FB.Event.subscribe('auth.sessionChange', handleSessionChange); 
    FB.Canvas.setSize(); 

    // ensure we're always running on apps.facebook.com 
    if (window == top) { goHome(); } 
} 


window.fbAsyncInit = function() { 
    facebookInit({{ js_conf|safe }}) 
    afterSDK() 
}; 

,问题就出现在这里:

var query = "SELECT '' " + 
     "FROM user " + 
     "WHERE is_app_user = \"1\" AND " + 
       "uid IN (SELECT uid2 " + 
         "FROM friend WHERE uid1 = {{ user.user_id }})" 
FB.api({'method': 'fql.query', 'query': query}, 
     function(response){ 

该代码被称为内afterSDK()功能。响应可能会带来错误,而不是使用应用的朋友数量。

+0

你在做什么电话?这是最近发生的错误吗? – 2011-05-24 19:17:05

+0

不,它一直是这样的。有时它根本不起作用。 – gruszczy 2011-05-24 19:25:44

+0

你的代码是什么样的?你是否试图使用访问令牌来做任何事情?如果是这样,你怎么得到它? – 2011-05-24 19:27:20

回答

1

让我试一试。

我认为这个问题是因为你注销一个用户,并登录另一个。可能会发生问题,因为Facebook未检测到其他用户已注销,并认为它是同一个人。这可能会清理这个问题:

FB.logout(function(response) { 
    // user is now logged out 
}); 

运行,为确保用户注销,然后试图从那里

移动希望这有助于一点点。

Here is the facebook logout method

您还可以查看at this previous SO question有关刷新会话(尽管它在PHP中,我不知道JS当量)

+0

但是到底什么时候应该打电话给我?在我运行init方法之前?但是,我不会让我目前的(正确的)用户注销,什么都不会工作? – gruszczy 2011-05-24 20:58:55

+0

不需要。'init'方法需要先运行(您可能需要再次运行它,但如果它不是第一个,那么我认为您会得到错误)。我可能会对你在做什么感到困惑。你不是想以一个用户身份登录吗? – 2011-05-24 21:02:28

+0

我是。我正在使用帐户 - >从Facebook注销。然后我输入我的应用程序的网址,然后单击“登录”,进行身份验证,然后只有在调用init时才会进行验证。这就是它的工作原理。 – gruszczy 2011-05-24 21:07:43