Facebook访问令牌终身问题

时间:2012-06-12 18:22:41

标签: php facebook facebook-graph-api

我正在尝试设置一个FB应用,只要我们的CMS中有人发布了特定帖子,该应用就会发布到单个特定页面。我不打算用CMS启用facebook统一登录等。我们有一个钓鱼应用程序,只要有人在我们用PHP编写的CMS应用程序中检查一条鱼,我们只想在特定页面上发布。

我遇到的问题是我需要我们的CMS才能将内容推送到Facebook页面而无需用户干预,登录等。到目前为止,一切正常,除了60天访问令牌的到期。

我猜是没有办法继续拥有'永恒'的代币。那么我需要编写哪些代码才能让我们的php CMS永久地在我们的Facebook页面上发布内容?

只有我们拥有单一页面的Facebook帐户才需要访问该应用程序。

很抱歉,如果这已在其他地方得到解答,但我一直在谷歌搜索高低,以获得答案。

2 个答案:

答案 0 :(得分:0)

您无法找到所需解决方案的原因是因为它不存在。扩展访问令牌将在60天后过期。您的页面管理员用户必须定期回到您的应用程序以刷新他们的登录信息(然后您将使用该短访问令牌并将其“交换”60天)。这是让它发挥作用的唯一方法。

答案 1 :(得分:0)

所以,这在理论上应该有效:

  1. 介绍令牌过期时捕获的一些错误处理。
  2. 编写一个服务器端功能/模块,为您发布登录到Facebook并自动检索您需要的内容。有插件可以通过php(请参阅链接)为您执行此操作(我的意思是模拟浏览器)。或者只是在perl / python中使用mechanize(或其他命令行浏览器)构建自己的脚本,为您提取信息并将其写回php文件等。
  3. 从服务器端代码调用perl脚本/ python模块/ php类/函数。
  4. @DMCS,如果你能想到它,你就可以做到;)

    抱歉,如果这看起来很复杂,DMCS是正确的,通常你必须手工完成,但理论上你总是可以编写脚本,我想这是我的观点。

    选项2:创建上述perl / python脚本并每隔59天在cron作业中运行或者你有什么。 :)

    http://www.lastcraft.com/browser_documentation.php - php“mechanize”喜欢模块

    http://sourceforge.net/projects/snoopy/ - 另一个像模块

    的php“机械化”

    http://bit.ly/L3PRgR - 机械化perl:)

    http://bit.ly/L3PZgc - 机械化python:)