4
我的網站使用FQL從JavaScript稱爲例如:從javascript SDK調用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);
});
}
他們這裏得到正常FB.login()
調用之後。這對大多數用戶來說工作正常。但是一些用戶(或者至少是用戶會話)一直得到「需要有效簽名」的錯誤,並且不能超過這個,即使在FB.login()
重新登錄後也是如此。
那個錯誤究竟意味着什麼?我猜oauth標記是無效的?但是令牌來自JavaScript SDK - 我從來沒有碰過它,也沒有簽名。用戶可能處於不一致的登錄狀態嗎?應用程序權限不足?一些奇怪的cookie設置?
大。但是,爲什麼他們自己的代碼在自己得到它時會有無效的令牌? – Leopd 2011-05-26 17:26:08
我相信,如果你登錄Facebook,你有一個訪問令牌。它們會在一段時間後失效,並且您在撥打電話時必須檢查令牌的有效性。然而,我不確定爲什麼你會在登錄後得到過期令牌,除非舊令牌被散列。 – 2011-05-26 17:31:06
http://developers.facebook.com/docs/authentication/您可以在該頁面上看到:除訪問令牌(access_token參數)外,響應還包含令牌到期前的秒數(expires參數) 。一旦令牌到期,您將需要重新運行上述步驟以生成新的代碼和access_token,但如果用戶已經授權了您的應用,則不會再提示他們這樣做。 – 2011-05-26 17:38:04