Facebook令牌 - 我创建了一个永不过期的令牌,但是如何?

时间:2017-02-08 08:28:38

标签: facebook facebook-access-token

我一直在尝试创建一个永不过期的Facebook令牌(理想情况下以编程方式)并且无法这样做,然后,在没有真正尝试的情况下,在不同的Facebook应用程序上,我设法创建了一个令牌,根据

https://developers.facebook.com/tools/debug/accesstoken?version=v2.5&q={TOKEN}

将永不过期,我无法在任何其他Facebook应用程序或任何其他Facebook令牌上复制它。

我可以以编程方式(PHP)获取短期令牌(1/2小时)并将其延长至60天,但我希望理想情况下获得永不过期的令牌。

我想我并没有问我是如何设法做到的,但是我无法找到任何解释或文档,也没有理由说明为什么我能够为一个令牌实现此目的,而不是任何其他令牌

它在创建时是应用程序本身的东西吗?实际上有一种方法可以获得一个永不过期的令牌,即使我已经在线跟踪了很多指南,但只能将半小时的令牌转换为60天吗?

1 个答案:

答案 0 :(得分:1)

  

实际上是否有办法获得永不过期的令牌

不,不是真的。甚至你认为永不过期的令牌可以到期 - f.e.如果创建它的用户更改了他们的帐户密码。

  

我想我并没有问我是如何设法做到的,但是我无法找到任何解释或文档,也没有理由说明为什么我能够为一个令牌实现此目的,而不是任何其他令牌

没有记录,因为当您的应用代表个人用户个人资料时,Facebook希望您使用60天令牌。他们在很久以前就删除了offline_access权限,特别是因为用户长期忘记的应用无法代表他们行事或仍然无法访问他们的数据。

因此,如果您正在编写一个代表用户行事的应用程序,那么您应该真正使用60天令牌 - 这对于大多数情况来说应该足够了。

现在您在此处看到的令牌是Facebook实施扩展页面访问令牌的副作用。那些没有默认的到期时间 - 但是当用户作为页面管理员被删除时,它们需要被无效。因此,它们内部绑定到用于请求页面令牌的用户令牌。用户令牌失效 - 页面访问令牌与其一起变为无效。而这又要求用户令牌在60天后不会自动过期。

因此,当您扩展包含manage_pages权限的用户令牌时,您将获得具有“无限”有效性的扩展令牌。但是,同样,这只是当前实施的副作用,并且可能在未来发生变化。