2011-04-05 1 views
4

내 사이트는 다음과 같은 자바 스크립트에서 호출 FQL을 사용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() 호출 후에 여기까지. 이것은 대부분의 사용자에게 잘 작동합니다. 그러나 일부 사용자 (또는 적어도 사용자 세션)는 ""을 다시 입력 한 후에도 "유효한 서명 필요"오류를 지속적으로받으며이를 지나칠 수 없습니다.

오류가 실제로 무엇을 의미합니까? oauth 토큰이 유효하지 않습니까? 하지만 토큰은 자바 스크립트 SDK에서 가져온 것입니다. 나는 결코 그것을 만진 적이 없으며 서명을하지 않았습니다. 사용자가 일관되지 않은 로그인 상태에있을 수 있습니까? 불충분 한 앱 권한이 있습니까? 이상한 쿠키 설정?

답변

5

유효한 액세스 토큰이 필요하다는 뜻입니다.

편집 : 문서에 대한 더 나은 링크 : https://developers.facebook.com/docs/concepts/login/access-tokens-and-types/

+0

좋아요. 그런데 왜 자신의 코드에 잘못된 토큰이 있을까요? – Leopd

+0

페이스 북에 로그인하면 액세스 토큰을 가지고 있다고 생각합니다. 일정 기간이 지나면 만료되며 전화를 걸 때 토큰의 유효성을 확인해야합니다. 그러나, 나는 왜 오래된 토큰이 해시되지 않는 한 로그인 후에 만료 된 토큰을 얻는 이유를 모르겠습니다. –

+1

http://developers.facebook.com/docs/authentication/ 해당 페이지에서 확인할 수 있습니다. 액세스 토큰 (access_token 매개 변수) 외에도 응답에는 토큰이 만료 될 때까지의 초 수 (만료 매개 변수) . 토큰이 만료되면 새로운 코드와 access_token을 생성하기 위해 위의 단계를 다시 실행해야합니다. 사용자가 이미 앱을 승인했다면 다시 입력하라는 메시지는 표시되지 않습니다. –

관련 문제