【发布时间】:2011-05-24 18:57:15
【问题描述】:
每隔几次,对 Facebook API 的调用就没有完成(或者甚至可能没有完成)。例如,我正在计算也使用我的应用程序的用户朋友的数量,但这似乎从未计算过。我尝试调查此问题,但 Chrome 控制台中没有错误。您是否遇到过此类行为并知道如何解决?
编辑
这里有一些细节,我明白了:
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
这是一些代码sn-ps:
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() 函数内部调用。响应可能会带来错误,而不是使用应用的朋友数量。
【问题讨论】:
-
你打什么电话?这是最近发生的错误吗?
-
不,一直都是这样。有时它根本不起作用。
-
你的代码是什么样的?您是否尝试将访问令牌用于任何事情?如果有,你是怎么得到的?
-
我加了一些sn-ps的代码,好像不行。
标签: facebook facebook-javascript-sdk