【问题标题】:Refresh long-lived token via Instagram graph api通过 Instagram 图形 api 刷新长寿命令牌
【发布时间】:2021-10-07 01:02:13
【问题描述】:

我在后端拥有长期存在的用户令牌,并成功从图形 API 端点获取不同的信息。

现在我正在尝试定期刷新这些有效的、未过期的令牌并遵循Refresh Access Token 文档,但每次都会收到带有 400 状态代码的错误:

我的要求:

curl -X GET \
  'https://graph.instagram.com/refresh_access_token?grant_type=ig_refresh_token&&access_token={my_token}'

回复:

Sorry, this content isn't available right now

为确保令牌有效,请通过Access Token Debugger tool 进行检查,看来我的令牌在接下来的 3 个月内有效。

我发现其他几个工程师也遇到了同样的问题,但找不到任何出路或问题的原因。

有解决办法吗?

【问题讨论】:

  • 我在同一条船上。你找到解决办法了吗?
  • @AngleV 是的,我找到了它并将其发布为答案。希望对你也有帮助。

标签: facebook-graph-api instagram-api instagram-graph-api


【解决方案1】:

我找到了关于我的问题的答案,并且由于我已经看到一个人在评论中,我的答案对他们很有用,因此将其发布在这里。

为了刷新有效令牌,我们可以使用https://graph.facebook.com/oauth/access_token端点。 所以带参数的请求会是这样的:

https://graph.facebook.com/oauth/access_token?
grant_type=fb_exchange_token
&client_id={client-id}
&client_secret={client_secret}
&exchange_token={old_token}

另外,还要注意一点 - 如果我没记错的话,即使是旧令牌也会一直有效,直到它的 ttl 不会过期。

【讨论】:

  • 您的解决方案似乎不起作用。我的目的是刷新 instagram 的长寿命令牌,即 60 天后到期。工作流程是:用户登录他的帐户并授予我的应用程序的权限。之后,我得到了短期令牌,并将其与有效期为 2 个月的长期令牌交换。请求是我们如何用新的令牌刷新这个长期存在的令牌,以便永不过期?
  • 您无法生成永不过期的令牌。无论如何,这将是超级不安全的。相反,您可以使用长期存在的令牌来生成新的令牌。假设如果它存在 2 个月,让我们创建一个从现有令牌中创建新令牌的作业,并每 7 周运行一次该作业。
  • 我们只是想刷新它,如文档中所述,而不是生成一个新的。我可以生成新的,而不使用旧的。当我需要编辑配置文件以每 2 个月更改一次密钥时,为什么还要为此烦恼?
猜你喜欢
  • 2017-06-04
  • 1970-01-01
  • 2017-04-25
  • 1970-01-01
  • 2018-07-08
  • 2018-01-05
  • 1970-01-01
  • 2013-10-14
  • 1970-01-01
相关资源
最近更新 更多