2012-04-21 5 views
3

많은 예제를 보았으며 액세스 토큰 만료에 대해 잘 알고있는 몇 가지 기사를 읽었으며이 기사에서이 기사에서 매우 잘 설명했습니다. Access Token Expiration.만료 된 Facebook 사용자 액세스 토큰에 대한 알림을받는 방법

만료 액세스 토큰을 갱신하는 방법을 알고 있습니다. 그러나 문제는이 기사에서 설명한 것처럼 액세스 토큰이 만료 된 이유는 네 가지입니다.

따라서 액세스 토큰이 만료 될 때 확실하지 않으며 언제든지 가능합니다. 기존 솔루션은 offline_permision을 사용하는 것으로, 곧 FB에서 더 이상 사용되지 않습니다. 여기

내가 달성하기 위해 노력하고있어입니다 : 사용자가 우리의 페이스 북의 응용 프로그램을 사용할 때

액세스 토큰이 만료
  1. 되면,하는 동안, 나는 FB에 저를 통지합니다.

  2. 알림을 받으면 액세스 토큰을 갱신하십시오.

나는 내가 원하는 것을 달성하지 못한다고 생각합니다.

FB.Event.subscribe('auth.authResponseChange', function(response) { 
    alert('The status of the session is: ' + response.status); 
}); 

따라서 액세스 토큰이 만료되면 FB로부터 알림을받을 수있는 방법이 있습니까?

답변

2

토큰이 만료 된 API에 액세스하려고하면 Facebook에서 오류 메시지를 다시 전송합니다. Facebook 응답을 처리하는 콜백 함수에서 해당 오류를 확인하고 오류가있는 경우 토큰을 새로 고치고 API 호출을 다시 시도하십시오. 페이스 북에서

:

페이스 북 는 이전에 발행 된 액세스 토큰이 무효가되었음을 통지하지 않습니다. 액세스 토큰과 함께 응용 프로그램에 전달 된 만료 시간을 지속하지 않는 한, 응용 프로그램의 첫 번째 응용 프로그램은 지정된 토큰이 유효하지 않은 것으로 알고있는 경우가 종종 있습니다. API에 요청할 때입니다.

+0

그래, 나는 페이스 북이 응답을 반환합니다 알아요. 이벤트 기반 알림을 선호합니다. 어떤 이유로 만료 될 경우, FBevent를 통해 알림을받습니다. 하지만 페이스 북에서 알리지 않았 음을 알리는 데 도움을 주셨습니다. hmnn ... 좋아, 다른 방법으로, 만료 기간을 적어도 하루 연장 하시겠습니까 ?? 그게 뭐야? – MrCooL

+1

루프 간격을 사용하여 자체 알림 서비스를 만들 수도 있지만 토큰 간격으로 만료되는 경우 오류를 처리해야하므로 실제로 도움이되지 않는 것 같습니다. 토큰을 확장하는 데는 불행히도 실제로 가능하지 않습니다. 토큰을 사용하여 만료 시간을 갖기 때문에 (아마도 대부분의 경우) 어쩌면 만료일이되기 전에 토큰을 새로 고치는 이벤트를 설정할 수도 있지만, 일찍 만료 될 수 있습니다. FB.event.subscribe를 통해 구독 할 수있는 이벤트가 발생하는 것이 좋을 것 같습니다. – LocalPCGuy

관련 문제