如何在Facebook上获得非过期的access_token?

时间:2012-11-23 15:04:28

标签: php facebook facebook-graph-api

我在页面https://developers.facebook.com/tools/explorer中获取了访问令牌,我的应用程序可以在Facebook页面的墙上发布。

然而access_token在一小时后过期。

如何获得未过期的access_token

编辑:失败选民:我已经发布了自己的答案,如果你读了它,你就会知道我的解决方案永远不会在FB文档中找到,也不会在SO中找到。

2 个答案:

答案 0 :(得分:6)

对于所有投票和投票结果的人,我想告诉你这里没有明确答案。

在试图理解FB令人困惑的文档之后经历了太多的痛苦,这个问题的答案非常简单:

  1. 将您的应用设置为原生/桌面,这样您就可以获得60天的令牌(稍后您将其转为永久性)。通过转到https://developers.facebook.com/apps/修改设置>来执行此操作高级>在应用程序类型中选择Native / Desktop。

  2. 转到https://developers.facebook.com/tools/explorer/选择您的应用,获取访问令牌

  3. 扩展权限标签中,选择manage_pagespublish_stream

  4. 现在你有一个60天的临时代币。

  5. 要获取永久令牌,请转到此处并使用您的临时令牌:https://graph.facebook.com/me/accounts?access_token=REPLACE_THIS_WITH_YOUR_TEMPORARY_TOKEN

  6. 看哪,您将看到永久访问令牌到您作为管理员的所有Facebook页面。

答案 1 :(得分:0)

您应该使用刷新的长期用户访问令牌。

https://developers.facebook.com/docs/howtos/login/extending-tokens/