Что вызывает ошибку «Требуется действительная подпись» при вызове FQL из javascript SDK? - PullRequest
4 голосов
/ 05 апреля 2011

Мой сайт использует FQL, вызванный из JavaScript как таковой:

FB.api({
    method: 'fql.query',
    query: 'SELECT uid, name, first_name, pic_big, pic, third_party_id from user where uid in (SELECT uid2 FROM friend WHERE uid1 = me()) ORDER BY name'
},
function(response) {
    if( response.error_msg ) {            
        alert("Sorry!  Something went wrong loading your Facebook friends:"+response.error_msg);
        return;
    }
    process_friends(response);
});

}

Они попадают сюда после обычного FB.login() звонка. Это нормально работает для большинства пользователей. Но некоторые пользователи (или, по крайней мере, пользовательские сеансы) постоянно получают ошибку «требует действительной подписи» и не могут ее преодолеть даже после повторного входа FB.login().

Что на самом деле означает эта ошибка? Я предполагаю, что токен oauth недействителен? Но токен пришел из javascript SDK - я никогда не трогал его и не делал подписи. Может ли пользователь находиться в несовместимом состоянии входа в систему? Недостаточно прав для приложений? Какая-то странная настройка печенья?

1 Ответ

5 голосов
/ 26 мая 2011

Это означает, что вам нужен действительный токен доступа.

РЕДАКТИРОВАТЬ: Лучшая ссылка на документацию: https://developers.facebook.com/docs/concepts/login/access-tokens-and-types/

...