3

google api에서 oauth2를 수행하면 액세스 토큰과 새로 고침 토큰이 생성됩니다. 서비스를 작성 중이며 주기적으로 변경 사항을 폴링한다고 가정합니다. 현재 액세스 토큰이 무효화 될 때마다 새로 고침 토큰을 사용하여 새로운 액세스 토큰을 얻을 수 있습니다. 이를 offline access이라고합니다.페이스 북 API의 토큰 및 액세스 토큰 새로 고침

페이스 북에서도 똑같이 할 수 있습니까? google api와 유사한 오프라인 액세스 버전이 있습니까?

감사합니다.

+0

아니요, 사용자 액세스 토큰을 최대 2 개월까지만 확장 할 수 있습니다. 앱 액세스 토큰에 대해 언급하지 않는 한 –

답변

6

오프라인 액세스의 경우 만료되기 전에 짧은 액세스 토큰을 새 액세스 토큰으로 교환해야합니다. Facebook은 단일 유형의 액세스 토큰 (새로 고침 토큰 없음)을 가지고 있습니다. 약 만료 액세스 토큰을 사용하면 새 액세스 토큰을 가져와야합니다.

수동 here에서 FB의 문서를 인용 그래프 API 엔드 포인트 :

GET /oauth/access_token? 
    grant_type=fb_exchange_token&   
    client_id={app-id}& 
    client_secret={app-secret}& 
    fb_exchange_token={short-lived-token} 

를 사용하여 토큰을 확장하려면 ::

앱에 대한 만료 수명이 짧은 토큰을 교환 할 수 없습니다 수명이 긴 토큰 위의 흐름은 유효 기간이 짧은 수명이 짧은 토큰 에서만 작동합니다. 만료되면 앱에서 로그인 플로를 통해 사용자 을 다시 보내야합니다.

자세한 설명을 위해 언급 한 설명서 링크의 Expiration and Extending Tokens 부분을 읽으십시오.

+0

언제든지 새 액세스 토큰을 요청할 수 있습니까? 또한 2 분마다? – markzzz

+0

당신이 할 수없는 이유가 보이지 않습니다. 문서에서는 다른 토큰에 액세스 할 수 있다고 말합니다. 먼저 fiddler를 사용하여 엔드 포인트를 치십시오. 응답을 얻으려면 5 분이 필요합니다. :) 행운을 빕니다. – divyanshm

+0

네,하지만 아마 저를 막을 것입니다! 사실, 토큰이 만료되었는지 확인하기 위해 시간을 낭비하지 않고 매번 새로 고침합니다. 또한 동일한 절차를 통해 긴 라이브 토큰을 새로운 하나의 긴 라이브 토큰으로 교환 할 수 있습니다. – markzzz

관련 문제