Facebook 페이지 액세스 토큰-만료됩니까?
사용자가 Facebook 팬 페이지를 관리 할 수있는 앱을 만들고 있습니다. 이를 위해서는 다음 두 가지 액세스 토큰이 필요합니다.
- 사용자 액세스 토큰
- 페이지 액세스 토큰
사용자 액세스 토큰에 대해서는 잘 알고 있지만 페이지 액세스 토큰에는 익숙하지 않습니다.
페이지 액세스 토큰의 유효 기간을 아는 사람이 있습니까? 내가 페이스 북 웹 사이트에서 찾을 수있는 것은 이 간결한 문단 인데, 만료일에 대해서는 언급하지 않았습니다.
offline_access
권한이 있는 사용자 액세스 토큰을 요청하는 경우 페이지 액세스 토큰도 무기한 지속될 것이라고 가정 할 수 있습니까 (사용자가 비밀번호를 변경하거나 내 앱을 수동으로 승인 취소하지 않는 한)?
얼마나 자주 Facebook Graph API를 쿼리하고 페이지 액세스 토큰을 획득해야하는지 알고 싶어서 묻는 것입니다. 사용자가 등록 할 때 한 번만 요청해야합니까? 또는 지속적으로 변경되는 경우 API 호출마다 하나씩 요청해야합니까? 후자는 분명히 더 부담 스럽습니다!
페이지 토큰은 페이지 토큰이 생성 된 사용자에 대한 액세스 토큰이 만료되면 만료됩니다. 6.28.2013 수정 : 사용자 액세스 토큰 을 확장하고 사용자에 대한 새 페이지 액세스 토큰 을 얻는 경우 사용자가 앱의 승인을 취소 하지 않는 한 해당 페이지 토큰은 만료되지 않습니다.
이제 오프라인 액세스가 더 이상 사용되지 않지만 액세스 토큰을 60 일 동안 연장 할 수 있습니다. 사용자의 액세스 토큰을 확장하면 해당 사용자 계정에서 생성 된 페이지 토큰
의 만료 기간도 일치하도록 연장되어
만료되지 않습니다 (2013 년 6 월 28 일 편집). 페이지 토큰의 값은 확장 후 변경 될 수 있으므로 /accounts
사용자 토큰을 확장 한 후 사용자의 그래프 연결 에서 새 페이지 토큰을 가져와야합니다.
이러한 액세스 토큰은 하루에 한 번 계속 연장 할 수 있습니다. 따라서 사용자가 앱과 상호 작용하는 매일 액세스 토큰을 다시 생성해야합니다.
참조 https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens https://developers.facebook.com/docs/facebook-login/access-tokens/#extending 에 https : // 개발자 .facebook.com / docs / facebook-login /
https://developers.facebook.com/roadmap/offline-access-removal/ https://developers.facebook.com/blog/post/2011/05/13/how -to-handle-expired-access-tokens /
페이지 액세스 토큰을 확장하여 만료되지 않도록 할 수 있습니다. 문서는 약간 어수선하지만 다음 페이지에는 관련 정보가 있으며 분명히 페이지의 관리자 여야합니다. 두 번째 링크에서 시나리오 4와 5에주의를 기울이십시오.
https://developers.facebook.com/docs/reference/api/page/#page_access_tokens https://developers.facebook.com/roadmap/offline-access-removal/#page_access_token
그래프 탐색기를 사용하여 Facebook에서 토큰을 검색하는 것은 간단합니다. 그래프 탐색기를 사용하면 만료 날짜를 나열 할 토큰을 디버깅 할 수 있으므로 만료되지 않는지 확인할 수 있습니다. 그래프 탐색기 : https://developers.facebook.com/tools/explorer
액세스 토큰 가져 오기 버튼을 클릭하여 토큰을 가져옵니다. 쿼리 표시 줄에 ID를 유지하고 ID에 / accounts를 추가하면 다음과 같이 표시 /123456789101112/accounts
됩니다.. GET 요청인지 확인합니다 (쿼리 표시 줄 왼쪽의 드롭 다운).
작업하도록 구성된 모든 페이지를 검색합니다. 그런 다음 다음에 대한 GET 요청을해야합니다.
/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=EXISTING_ACCESS_TOKEN
APP_ID 및 APP_SECRET은 애플리케이션 관리 설정에서 찾을 수 있습니다. 개인 액세스 토큰을 최종 매개 변수 (EXISTING_ACCESS_TOKEN)로 사용하십시오. 이렇게하면 60 일 개인 액세스 토큰이 반환됩니다. 이 토큰을 쿼리 표시 줄 위에있는 액세스 토큰 표시 줄에 복사합니다. 이제 처음에했던 것처럼 USER_ID / 계정에 GET 요청을합니다. 작업하도록 구성된 페이지 목록이 다시 반환됩니다.
그러나 이번에는 페이지와 함께 나열된 페이지 토큰이 만료되지 않습니다. 페이지 토큰을 액세스 토큰 표시 줄에 복사하고 디버그 버튼을 클릭하여이를 확인할 수 있습니다. 이 경우 만료 시간을 포함하여 해당 액세스 토큰에 대한 세부 정보를 제공합니다.
최신 정보
또한 Facebook의 그래프 탐색기가 때때로 사용자 컨텍스트와 혼동되어 항상 신뢰할 수없는 경우도 있음을 발견했습니다. 대안은 Fiddler 또는 Postman 입니다.
Facebook이 이러한 버그를 수정하기 위해 변경했는지 여부는 확실하지 않지만 사용자에게 페이지 액세스 토큰이 부여되면 사용자 액세스 토큰이 만료되지 않는 것 같습니다. 내 테스트를 기반으로 흐름은 다음과 같습니다.
- 사용자 액세스 토큰 요청-> 60 일 사용자 토큰 발급
- 요청 된 페이지 액세스 토큰-> 만료되지 않은 발행 된 페이지 액세스 토큰 및 초기 사용자 액세스 토큰도 만료되지 않도록 업그레이드됩니다.
이것이 여기에 대한 혼란을 해결하기를 바랍니다. 나는 우리 앱의 많은 다른 사용자들과 함께 이것을 테스트했고 매번 같은 것을 봅니다.
페이지 액세스 토큰이 요청되지 않은 경우 원래 사용자 액세스 토큰은 60 일 후에 만료됩니다.
Facebook 페이지 액세스 토큰은 페이지의 관리자로 "사용자를 가장"하고 관리 할 수 있다는 점을 제외하면 사용자 액세스 토큰과 매우 유사합니다 [manage_page 권한 필요].
Offline_access 권한이 앱에 부여되면 access_token 페이지가 만료되지 않습니다 (사용자가 비밀번호를 변경하거나 앱을 수동으로 승인 취소하지 않는 한).
다음 링크를 사용하여 발급 된 액세스 토큰의 세부 정보를 확인하십시오.
https://developers.facebook.com/tools/debug/
이 https://developers.facebook.com/roadmap/offline-access-removal/#page_access_token을 참조 하십시오. 이에 따르면 짧은 시간 액세스 토큰을 얻고 장기 액세스 토큰으로 확장하면 페이지 액세스 토큰에만 만료되지 않습니다. 시나리오 5 : 페이지 액세스 토큰 참조
문제에 대한 Facebook의 문서 (장기 페이지 액세스 토큰)는 실제 상황과 일치하지 않습니다. 문서는 확장 / 장기 사용자 액세스 토큰을 통해 획득 한 페이지 액세스 토큰이 만료되지 않는다고 주장합니다. 그러나 실제로 이러한 페이지 액세스 토큰은 60 일 후에 만료됩니다.
Facebook 버그 참조 : http://developers.facebook.com/bugs/461517520524921
- 기본 페이지 액세스 토큰은 수명이 짧으므로 1 ~ 2 시간 후에 만료됩니다. 더 오래 지속되도록하려면 단기 액세스 토큰을 장기 액세스 토큰으로 확장하여 약 2 개월 동안 지속되도록해야합니다.
- 이제 권한
offline_access
이 더 이상 사용되지 않습니다. - 사용자 변경이 비밀번호이면 액세스 토큰이 만료되지 않습니다.
다른 질문에서 페이지 액세스 토큰을 확장 하는 방법을 설명 합니다.
페이지 액세스 토큰은 사용자의 액세스 토큰이 만료되면 만료됩니다. 페이지 액세스 토큰이 오래 지속되도록 사용자 액세스 토큰을 최대 60 일까지 연장 할 수 있습니다.
내 블로그를 확인하고 확장 액세스 토큰을 얻고 팬 페이지 액세스 토큰도 얻는 단계별 지침을 따르십시오.
참고URL : https://stackoverflow.com/questions/7696372/facebook-page-access-tokens-do-these-expire
'Program Tip' 카테고리의 다른 글
Kotlin에서 JSON을 파싱하는 방법은 무엇입니까? (0) | 2020.10.31 |
---|---|
Vim의 소스 코드에 줄 번호 추가 (0) | 2020.10.31 |
Windows에서 'npm 설치'가 매우 느림 (0) | 2020.10.30 |
Event.target, Event.toElement 및 Event.srcElement의 차이점은 무엇입니까? (0) | 2020.10.30 |
Typescript ReferenceError : 내보내기가 정의되지 않았습니다. (0) | 2020.10.30 |