我能够获得60天有效的访问令牌,但我无法延长到期时间。我这样做是为了能够通过单个用户访问Facebook页面。这是我的过程。
然后我使用从上面的URL获得的令牌调用此URL: 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
我在周末多次尝试过这种情况,并且在每个实例中,我都获得了相同的访问令牌,但是到期时间没有更新。我通过访问浏览器中的URL来完成此操作。
我错过任何可以续订到期日的内容吗?
答案 0 :(得分:1)
我认为页面管理员用户必须在60天内回到您的应用程序,以获得具有延长时间的新访问令牌。我不认为您可以(或应该)允许仅通过应用程序扩展访问令牌。
请参阅:https://developers.facebook.com/docs/offline-access-deprecation/
注意:用户必须先访问您的应用程序才能获得 一个有效的“授权代码”,可以使服务器端oAuth 重拨。应用程序将无法设置后台/ cron作业 尝试自动延长到期时间,因为 “授权代码”是短暂的,并且已经过期。
答案 1 :(得分:0)
我刚遇到这个问题。问题最终是在我的FB应用程序中禁用了“弃用脱机访问”。禁用时,扩展令牌始终返回一个短期令牌。启用后,我可以获得长期访问令牌。
答案 2 :(得分:0)
Facebook开发人员已弃用离线访问,但您仍可以将应用ID,应用密码和当前访问令牌传递到以下网址,从而将访问令牌的有效期延长至60天: 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
注意:EXISTING_ACCESS_TOKEN必须是有效的访问令牌(未过期令牌)。