OAuthPermissionsException沙盒中的Instagram API
对于我一直在试图解决的问题,我将不胜感激。
我试图使用Instagram API访问与标签相关的数据(我们称之为“X”)。 我试图直接从Python和浏览器运行它,并得到相同的错误:
{u'meta': {u'code': 400, u'error_type':u'OAuthPermissionsException', u'error_message': u'This request requires scope=public_content, but this access token is not authorized with this scope. The user must re-authorize your application with scope=public_content to be granted this permissions.'}}
这是我编写的简单的Python代码,以使其工作:
import requests access_token = 'zzzzzzzzzzzzz' parameters = {"q": "X", "scope": "public_content", "access_token": "zzzzzzzzzzzzz"} response = requests.get("https://api.instagram.com/v1/tags/search", params=parameters) insta_posts = response.json()
我是否使用沙盒的正确URL? 我阅读了Instagram API文档,沙箱中的应用程序不需要任何types的范围更改批准。
另外,该应用程序仅被授权用于沙盒:
在Instagram API中定义的应用程序的屏幕截图
任何方向将不胜感激。
谢谢,
马丁
更新 :找出发生了什么事。 首先需要改变应用程序授权的范围。 这是我做到的:
-
从您的浏览器执行:
https://api.instagram.com/oauth/authorize/?client_id=CLIENTID&redirect_uri=REDIRECT-URI&response_type=code&scope=SCOPE
只需要用大写字母插入数据
一旦完成,应用程序被授权用于该范围。
由于我已经有访问令牌,所以我不需要执行第2步和第3步。
希望这可以帮助。
马丁
更新:找出发生了什么事。 首先需要改变应用程序授权的范围。 这是我做到的:
从您的浏览器执行:
只需要用大写字母插入数据
一旦完成,应用程序被授权用于该范围。
由于我已经有访问令牌,所以我不需要执行第2步和第3步。
希望这可以帮助。
马丁
这是一个很好的例子:
只需在url末尾添加范围参数:
&scope=basic+public_content+follower_list+comments+relationships+likes
很明显,您从其中收到access_token的应用程序不允许public_content作用域