如何续订长期用户访问令牌(在 60 天有效期之前)

问题描述 投票:0回答:1

我正在使用以下 API 来获取长期用户访问令牌

https://graph.facebook.com/v8.0/oauth/access_token.

这个长期令牌将在 60 天后过期,但我们可以在 60 天之前更新它(根据 Facebook 文档)。

所以我尝试了这个API来获取代码https://graph.facebook.com/v8.0/oauth/client_code

然后使用上述 API 返回的代码通过以下 API 接收新的长期访问令牌 - https://graph.facebook.com/v8.0/oauth/access_token

但是当我在 Access Token Debugger 中检查新收到的令牌时,其过期时间与之前/旧令牌的过期时间完全相同。

因此用于查看长期用户访问令牌的 Facebook API 无法正常工作。不明白我是否在这里遗漏了一些东西或什么?

提前致谢

facebook-graph-api facebook-access-token
1个回答
0
投票

我遇到了同样的问题,也提到了here

正如文档中所述,我尝试了fb_exchange_token

资助类型,以及
client_code
,但没有成功。这两种方法都给了我一个新令牌,但其到期时间与原始用户访问令牌相同。我不明白生成新令牌(如果它同时过期)有多大用处,但我怀疑这与基于同意的用户访问令牌的性质有关。我认为 Facebook 希望用户同意每个新令牌,因为它强调用短期令牌交换长期令牌,而短期令牌只能通过网络登录生成。我希望对此有更好的记录,因为我在他们的文档中没有看到任何具体提及此行为。

我需要一个 S2S 解决方案,因此同意屏幕实际上是不可能的,但正如

Tobi 所提到的:

通常情况下,重定向时不需要用户执行任何操作 您不请求更多权限。

因此,如果您的应用程序公开了重定向端点,那么非交互式解决方案仍然是可能的。另一个解决方案可能是探索“系统用户访问令牌”,我还没有,但计划将来研究这个,因为它们似乎永远不会过期。希望这对某人有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.