Один раз в несколько раз вызовы API Facebook не завершаются (или, возможно, даже не совершаются). Например, я подсчитываю количество друзей пользователя, которые также используют мое приложение, но это, кажется, никогда не рассчитывается. Я пытался исследовать эту проблему, но в консоли Chrome нет ошибок. Вы когда-нибудь сталкивались с таким поведением и знаете, как это исправить?
EDIT
Вот некоторые подробности, которые я получаю:
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()
. Ответ может принести ошибку, а не количество друзей, использующих приложение.