访问令牌到期未得到扩展

时间:2012-02-06 16:25:10

标签: facebook authentication facebook-oauth facebook-authentication

我能够获得60天有效的访问令牌,但我无法延长到期时间。我这样做是为了能够通过单个用户访问Facebook页面。这是我的过程。

我打电话给: https://www.facebook.com/dialog/oauth?response_type=token&client_id=APP_ID&scope=read_stream,publish_stream,manage_pages,read_insights,create_event&redirect_uri=REDIRECT_URL

然后我使用从上面的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来完成此操作。

我错过任何可以续订到期日的内容吗?

3 个答案:

答案 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必须是有效的访问令牌(未过期令牌)。