반응형
Facebook에서 장기 라이브 액세스 토큰 받기
내가 알기로 최근 Facebook은 offline_access
권한 을 제거하기로 결정 하고 최대 60 일 동안 지속되는 장기 액세스 토큰이라는 개념을 도입했습니다. Facebook JavaScript SDK로이 액세스 토큰을 얻는 방법을 아는 사람이 있습니까?
이것을 60 일로 연장하는 방법이 있습니다. 여기에 설명 : https://developers.facebook.com/docs/roadmap/completed-changes/offline-access-removal/ underScenario 4: Client-side OAuth and Extending Access_Token Expiration Time through New Endpoint
편집 : 액세스 토큰을 확장하려면 단기 액세스 토큰으로 다음 요청을해야합니다.
https://graph.facebook.com/oauth/access_token?
client_id=APP_ID&
client_secret=APP_SECRET&
grant_type=fb_exchange_token&
fb_exchange_token=EXISTING_ACCESS_TOKEN
Facebook의 버그로 인해 일부 사용자는 Facebook이 오래 지속되는 토큰을 발행하기 전에 앱의 승인을 취소해야합니다.
방금 'axios'를 사용하여 Facebook Graph API 호출을했습니다. 앱 대시 보드에서 client_id 및 client_secret을 찾을 수 있습니다.
getLongLiveToken = () => {
window.FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
let userAccessToken = response.authResponse.accessToken;
axios.get(`https://graph.facebook.com/oauth/access_token?client_id=${clientId}&client_secret=${clientSecret}&grant_type=fb_exchange_token&fb_exchange_token=${userAccessToken}`)
.then((response) => {
console.log("Long Live Access Token");
console.log(response.data.access_token);
});
}
});
}
<button onClick={ () => this.getLongLiveToken() } >Long Live Token</button>
다음 세부 사항으로 자바 스크립트에 기능을 추가하십시오.
function getLongLiveToken(data){
FB.api('oauth/access_token', {
client_id: data.client_id, // FB_APP_ID
client_secret: data.secret, // FB_APP_SECRET
grant_type: 'fb_exchange_token',
fb_exchange_token: data.access_token // USER_TOKEN
}, function (res) {
if(!res || res.error) {
console.log(!res ? 'error occurred' : res.error);
}else{
var accessToken = res.access_token;
if(typeof accessToken != 'undefined'){
}
}
});
}
참조 URL : https://stackoverflow.com/questions/10467272/get-long-live-access-token-from-facebook
반응형
'IT story' 카테고리의 다른 글
JavaScript에서 JSP 변수 읽기 (0) | 2020.12.29 |
---|---|
자바 스크립트로 SVG 이미지 색상 변경 (0) | 2020.12.29 |
PHP 파열하지만 각 요소를 따옴표로 묶습니다. (0) | 2020.12.29 |
Linux에서 여러 jpg를 단일 pdf로 병합 (0) | 2020.12.29 |
'rake db : migrate RAILS_ENV = test'를 실행하라는 메시지가 표시되는 이유는 무엇입니까? (0) | 2020.12.29 |