php - PHP 的 fb_exchange_token 仅在用户删除应用程序后才有效

标签 php facebook authentication facebook-graph-api access-token

对于我正在构建的 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/

相关文章:

php - 移动正则表达式用户代理

php - MySQL ORDER BY 与 LIMIT 1 结合返回空结果

facebook - 在 facebook graph api 上获取封闭组的访问 token

asp.net-mvc-4 - MVC4 - 具有标准授权属性的基于声明的授权

javascript - Ember.js 身份验证操作不起作用

php - 如何将这两个查询合并成一个比较查询

php - 已成功提交表单,但控制台中出现一个错误,例如发生数据库错误错误号 : 1048 - Codeigniter

Facebook - 创建新应用程序按钮在任何地方都不存在

当我在 Opera 中调用 FB.Canvas.setSize 时,javascript FB 对象未准备好

node.js - 如何在 AWS Cognito 的用户池中获取用户的额外属性