fb_exchange_token for PHP仅在用户删除应用程序后才能运行

时间:2012-01-23 12:15:03

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

对于我正在构建的Facebook应用,我需要比默认的1-2小时更长的时间。

我不想使用“offline_access”,因为它会让人们无法注册到该应用,现在已经过折旧。

在开发者路线图中,它讨论了“fb_exchange_token”,它将访问令牌到期日期延长至1个月。

流程是:

  • 登录用户

  • 致电... / oauth / access_token?...& grant_type = fb_exchange_token& fb_exchange_token = ...

  • 访问令牌现在为期一个月

这适用于所有新用户,以及从Facebook帐户中删除应用并重新添加应用的用户,但对于我们现有的客户群,它不起作用。

我尝试过所有种类,包括为登录脚本添加其他权限以强制执行身份验证窗口,但没有运气。

我已按照文档中的说明为Facebook应用添加了正确的高级/迁移设置。除了开发博客之外,似乎没有太多帮助。

非常感谢任何帮助。

仅供参考:我使用的是最新的PHP SDK,获取新访问令牌的代码只是指向以下网址的标准cURL请求:

https://graph.facebook.com/oauth/access_token?client_id= {APPID}&安培; client_secret = {APPSECRET}&安培; grant_type = fb_exchange_token&安培; fb_exchange_token = {}的accessToken

再次感谢

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我注意到的另一件事:以前拥有offline_access权限的用户也可以获得60天的令牌以及新授权的用户。

我打开了一个错误,试图从FB获得回复:https://developers.facebook.com/bugs/241373692605971

答案 1 :(得分:0)

我一直面临这个问题,发现刚刚为我工作的是从我的个人资料中删除该应用并重新添加应用,这让我可以生成60天令牌。