从Facebook获取长期访问令牌

据我所知,最近Facebook已决定取消offline_access权限,并引入了一个名为长期访问令牌的概念,最长可持续60天。 有没有人知道如何使用Facebook JavaScript SDK获取此访问令牌?

有一种方法可以延长到60天。 如下所述: Scenario 4: Client-side OAuth and Extending Access_Token Expiration Time through New Endpoint下的https://developers.facebook.com/docs/roadmap/completed-changes/offline-access-removal/ Scenario 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发布长寿命令牌之前取消授权。

添加function的JavaScript与以下细节:我希望它适用于你。

 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'){ } } }); }