Facebook graph api 扩展长期(60天)用户访问令牌

Facebook graph api 扩展长期(60天)用户访问令牌,facebook-graph-api,facebook-login,Facebook Graph Api,Facebook Login,我使用FB登录,将访问令牌转换为服务器上的长寿命令牌,然后将其存储在数据库中。根据文档,使用此访问令牌发出请求应使其在接下来的60天内保持有效 我每4小时为提供的每个用户请求一次/[userID]/picture(带有访问令牌、客户端id、客户端密码)。然而,这些代币仍然表示它们将在创建后60天到期 正如我在其他StackOverflow答案中看到的,我也尝试了以下代码,但是它生成的新令牌没有延长60天。这些答案链接到(死链接) TLDR:如何扩展长寿命令牌而无需用户再次登录?有可能吗?您所要做

我使用FB登录,将访问令牌转换为服务器上的长寿命令牌,然后将其存储在数据库中。根据文档,使用此访问令牌发出请求应使其在接下来的60天内保持有效

我每4小时为提供的每个用户请求一次/[userID]/picture(带有访问令牌、客户端id、客户端密码)。然而,这些代币仍然表示它们将在创建后60天到期

正如我在其他StackOverflow答案中看到的,我也尝试了以下代码,但是它生成的新令牌没有延长60天。这些答案链接到(死链接)


TLDR:如何扩展长寿命令牌而无需用户再次登录?有可能吗?

您所要做的就是粘贴您的短令牌,然后按下按钮扩展访问令牌,将生成一个新令牌。 因此,您必须使用新标记而不是旧标记,因为旧标记是短期标记

希望它能从以下方面有所帮助:

刷新长寿命代币

即使是长寿命的访问令牌最终也会过期。在任何时候,您都可以通过将此人发送回您的web应用程序使用的登录流来生成一个新的长寿令牌-请注意,此人实际上不需要再次登录,他们已经授权了您的应用程序,因此,他们将立即使用刷新的令牌从登录流重定向回您的应用程序-这对用户的显示方式将根据您使用的登录流类型而有所不同,例如,如果您使用的是JavaScript SDK,这将在后台发生,如果您使用的是服务器端流,浏览器将快速重定向到登录对话框,然后自动立即再次返回到您的应用程序

完成上述操作后,您将获得一个新的短期令牌,然后您需要对长期令牌执行与上述相同的交换

因此,如果不获得新的短期令牌(需要用户交互),就不可能更新长期令牌

请求时自动续订仅适用于本机移动应用程序(Android/iOS):

使用Facebook的SDK的本地移动应用程序将获得长期访问令牌,有效期约为60天。当使用你的应用程序的人向Facebook的服务器发出请求时,这些代币将每天刷新一次。如果没有请求,令牌将在大约60天后过期,用户必须再次通过登录流才能获得新令牌


我已经有一个长令牌,你链接的表单没有扩展它的按钮。有没有办法扩展长寿命令牌?
https://graph.facebook.com/v2.x/oauth/access_token?             
  client_id=APP_ID&
  client_secret=APP_SECRET&
  grant_type=fb_exchange_token&
  fb_exchange_token=EXISTING_ACCESS_TOKEN