刷新长期访问令牌端点是否在 2021 年工作?

Is refreshing long lived access token endpoint working in 2021?

正在尝试通过此端点刷新我长期存在的访问令牌:

https://developers.facebook.com/docs/instagram-basic-display-api/guides/long-lived-access-tokens#refresh-a-long-lived-token

不断出现错误:OAuth "Facebook Platform" "invalid_token" "Invalid OAuth access token."

但是,我使用 https://developers.facebook.com/tools/debug/accesstoken/ 调试了我的令牌,这表明它是有效的并且持续大约 2 个月(这证明它是一个长期存在的访问令牌)。

这个端点是不是不再工作了还是我遗漏了什么?

P.S。我正在使用用户访问令牌,它是一个由 Facebook 页面支持的 public Instagram 商业帐户。另外,我在服务器上使用它,所以如果令牌在 60 天内使用它不会刷新(当您通过 FB 移动 sdk 进行身份验证时会发生这种情况)。

编辑

看来我错过了两个要求:

  1. 您的长期访问令牌必须至少存在 24 小时才能刷新
  2. 您的用户登录 Facebook 时需要 'instagram_graph_user_profile' permission/scope

然而

我试过了:

  1. 奇怪的是,每当我将 permission/scope 添加到列表中时,Facebook 登录总是失败并显示“出现问题”。我用 facebook login react npm package, the manual login flow by just making requests, and the FB SDK login button 试过了,结果都一样。
  2. Facebook Graph API Explorer 不包含此权限。然而,他们拥有的 list of permissions 确实包含它。

这意味着什么,Facebook 不允许刷新长期存在的令牌?

注意:有关如何刷新长期访问令牌的文档适用于基本显示 API,不建议将其用于企业帐户(这是谁将使用我的应用程序)。所以这让我更加不确定是否可以为 Instagram Graph API.

刷新令牌

更多信息

所以在 FB 开发者门户上,如果您将 Instagram Basic Display 产品添加到您的应用程序(我以前没有),它允许您请求 instagram_graph_user_profile 权限。然而,这带来了更多问题:

  1. 我是否必须使用 Insta Graph API + Insta Basic Display 才能获得可刷新的长期访问令牌?
  2. 如果是这样,它是如何工作的?因为 Insta Basic Display 推荐用于个人账户,而 Graph API 用于企业账户。
  3. 如果是,我该如何添加instagram_graph_user_profile权限?还是导致FB登录失败

所以我最终联系了一些我知道的公司,他们确实做了我想做的事情,他们确认 Facebook 确实要求用户在大约 60 天后重新授权。

如果他们不这样做,长期存在的访问令牌将过期。