如何解决Instagram基本显示API:如何检查用户的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文档中找到与此相关的任何内容;也许我错过了某件事...
如果有人能对此事向我阐明,我将不胜感激。
解决方法
由于我不知道如何识别帐户是公共帐户还是私人帐户,因此我仅将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": "#####"
}
}
因此,一旦识别出私人帐户,就可以轻松对其进行重新授权。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。