对于我正在构建的 Facebook 应用程序,我需要比默认的 1 - 2 小时更长的时间。
我不想使用“offline_access”,因为它会阻止人们注册该应用程序,而且现在已经过时了。
在开发者路线图中,它谈到了“fb_exchange_token”,它将访问 token 的到期日期延长至 1 个月。
流程是:
登录用户
调用 .../oauth/access_token?...&grant_type=fb_exchange_token&fb_exchange_token=...
- 访问 token 现在有 1 个月长
这对所有新用户以及从其 Facebook 帐户中删除该应用并重新添加的用户都适用,但对我们现有的客户群而言,它不起作用。
我尝试了各种方法,包括向登录脚本添加其他权限以强制验证窗口,但没有成功。
我已经按照文档中的描述为 Facebook 应用程序添加了正确的高级/迁移设置。除了开发博客之外,似乎没有太多帮助。
任何帮助将不胜感激。
仅供引用:我使用的是最新的 PHP SDK,获取新访问 token 的代码只是指向以下 url 的标准 cURL 请求:
https://graph.facebook.com/oauth/access_token?client_id= {APPID}&client_secret={APPSECRET}&grant_type=fb_exchange_token&fb_exchange_token={ACCESSTOKEN}
再次感谢
最佳答案
我遇到了同样的问题。我注意到的另一件事:之前拥有 offline_access 权限的用户以及新授权的用户也可以获得 60 天的 token 。
我打开了一个 bug 试图从 FB 获得响应:https://developers.facebook.com/bugs/241373692605971
关于php - PHP 的 fb_exchange_token 仅在用户删除应用程序后才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8971423/