从javascript SDK调用FQL时导致"需要有效签名"错误的原因是什么?

Leo*_*opd 4 javascript facebook facebook-fql

我的网站使用从javascript调用的FQL:

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);
});
Run Code Online (Sandbox Code Playgroud)

}

他们在正常FB.login()通话后来到这里.这对大多数用户来说都很好.但是一些用户(或者至少是用户会话)始终得到"需要有效签名"错误,即使FB.login()再次进入,也无法通过此错误.

这个错误究竟意味着什么?我猜oauth令牌无效?但令牌来自javascript SDK - 我从未触及它,并且没有签名.用户是否处于不一致的登录状态?应用权限不足?一些奇怪的cookie设置?

Mat*_*son 5

它确实意味着您需要一个有效的访问令牌.

编辑:更好的文档链接:https://developers.facebook.com/docs/concepts/login/access-tokens-and-types/