Instagram基本显示API:如何检查用户的Instagram帐户是公共帐户还是私人帐户?

时间:2020-08-29 06:11:27

标签: instagram

Facebook昨天向我发送了警报:

作为改善我们平台整体隐私的持续更改的一部分,我们最近对平台条款和开发者政策进行了更改。我们还针对使用Instagram基本显示的应用访问令牌刷新进行了更改API。

自2020年8月31日起,使用Instagram基本显示API的开发人员将不再能够继续访问私有Instagram帐户信息,而无需获得该帐户的重新授权。调用GET / refresh_access_token API终结点的应用在为私有Instagram帐户调用终结点时将不会收到刷新的访问令牌。

此更改将要求私有Instagram帐户至少每60天重新授权一次,以便开发人员能够使用Instagram Basic Display API继续访问其当前数据。此项更改仅适用于Instagram私人帐户;使用此API终结点的公共Instagram帐户对数据的访问将保持不变。

因此,根据我的理解,对于私人帐户,如果其访问令牌已过期,我将无法再使用API​​ GET /refresh_access_token刷新令牌,但必须从头开始重新授权令牌。

在这种情况下,如何检查用户的Instagram帐户是公共帐户还是私人帐户?我没有在Instagram Basic Display API文档中找到与此相关的任何内容;也许我错过了某件事...

如果有人能对此事向我阐明,我将不胜感激。

1 个答案:

答案 0 :(得分:3)

由于我不知道如何识别帐户是公共帐户还是私人帐户,因此我仅将API GET /refresh_access_token应用于所有帐户。对于公共帐户,它工作正常,但对于私人帐户,它将返回一个错误对象:

{
    "error": {
        "message": "Application does not have permission for this action",
        "type": "OAuthException",
        "code": 10,
        "error_subcode": 2207054,
        "is_transient": false,
        "error_user_title": "Permission Denied",
        "error_user_msg": "You cannot refresh access tokens for Instagram private accounts. To generate a new access token, reauthorize the user as documented here https://developers.facebook.com/docs/instagram-basic-display-api/guides/getting-access-tokens-and-permissions\"",
        "fbtrace_id": "#####"
    }
}

因此,一旦识别出私人帐户,就可以轻松对其进行重新授权。

相关问题