您可以通过以下方式扩展您的令牌:
原始情景
>您的应用程序请求用户的权限
您提示用户登录/授予权限
>您可以通过CURL或其他手段获得用户令牌(短命),并使用grant_type = fb_exchange_token
>你坚持令牌
现在你有这样的理由去做你想要的,最多60天.最后,由于用户可以更改密码,取消授权应用等,令牌将无效.扩展令牌可以做的是每个用户到达您的页面,您可以检查他们是否通过javascript登录,如果是,请对您的服务器进行ajax调用,将现有令牌从60天延长今天.您可以按需要拨打多个电话,只有第一个有效.这是我如何做到的:
FB.getLoginStatus(function (response) { if (response.status === 'connected') { $.ajax({ type: "POST",async: false,url: YOUR_URL,dataType: "text",data: {token : response.authResponse.accesstoken } }); } }); //rest of jquery ajax call here
$token_url = "https://graph.facebook.com/oauth/access_token?client_id=".FACEBOOK_CLIENT_ID."&client_secret=".FACEBOOK_SECRET."&grant_type=fb_exchange_token&fb_exchange_token=".$token; $c = curl_init(); curl_setopt($c,CURLOPT_RETURNTRANSFER,1); curl_setopt($c,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($c,CURLOPT_URL,$token_url); $contents = curl_exec($c); $err = curl_getinfo($c,CURLINFO_HTTP_CODE); curl_close($c); $paramsfb = null; parse_str($contents,$paramsfb);
参考:
https://developers.facebook.com/roadmap/offline-access-removal/
原文地址:https://www.jb51.cc/php/139661.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。