API OAuthPermissionsException Instagram в песочнице
Я был бы признателен за ввод/направление проблемы, которую я пытался решить на некоторое время.
Я пытаюсь получить доступ к данным, связанным с тегом (назовите его "X" ), используя Instagram API. Я попытался запустить его с 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 для песочницы? Я прочитал документацию API Instagram, и приложения в Sandbox не нуждаются ни в каком утверждении для изменения области.
Кроме того, приложение разрешено только для Песочницы:
Захват экрана приложения, определенного в API-интерфейсе Instagram
Приветствуем любое направление.
Спасибо,
Martin
ОБНОВЛЕНИЕ: выяснили, что происходит. Необходимо сначала изменить сферу действия разрешения для приложения. Вот как я это сделал:
Просто нужно вставить свои данные для слов в верхнем регистре
Как только это будет сделано, приложение будет разрешено для этой области.
Поскольку у меня уже был токен доступа, мне не нужно было делать шаги 2 и 3.
Надеюсь, что это поможет.
Martin
Ответы
Ответ 1
ОБНОВЛЕНИЕ: выяснили, что происходит. Необходимо сначала изменить сферу действия разрешения для приложения. Вот как я это сделал:
В вашем браузере выполните:
https://api.instagram.com/oauth/authorize/?client_id=CLIENTID&redirect_uri=REDIRECT-URI&response_type=code&scope=SCOPE
Просто нужно вставить свои данные для слов в верхнем регистре
Как только это будет сделано, приложение будет разрешено для этой области.
Поскольку у меня уже был токен доступа, мне не нужно было делать шаги 2 и 3.
Надеюсь, что это поможет.
Martin
Ответ 2
Вот отличный пример:
https://www.instagram.com/oauth/authorize?client_id=b23670e258o0fmk334jfu287c9f9953&redirect_uri=http://127.0.0.1:5000&response_type=code&scope=basic+public_content+follower_list+comments+relationships+likes
Просто добавьте параметры области в конце URL-адреса:
&scope=basic+public_content+follower_list+comments+relationships+likes
Ответ 3
{u'meta ': {u'code': 400, u'error_type ': u'OAuthPermissionsException',
u'error_message ': u'Этот запрос требует область видимости = public_content, но это
токен доступа не авторизован в этой области. Пользователь должен повторно авторизоваться
ваше приложение с областью действия = public_content, чтобы получить эти разрешения.
Ответ 4
Очевидно, что приложение, которое вы получили access_token из него, не позволяет области public_content