Мой сайт использует 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 - я никогда не трогал его и не делал подписи. Может ли пользователь находиться в несовместимом состоянии входа в систему? Недостаточно прав для приложений? Какая-то странная настройка печенья?