Я пытаюсь написать сценарий на Python, который извлекает список моих друзей из facebook. Чтобы получить данные, мне нужно получить токен доступа. Я использую пакет request_oauthlib для достижения того же. Поскольку я не пишу веб-приложение, я не использовал локальный веб-сервер (без URL-адреса перенаправления). Я выбираю использовать тип полномочий учетных данных пароля владельца ресурса. Я получаю ошибку.Отсутствует ошибка redirect_uri для учетной записи владельца ресурса. Тип разрешения
Это мой код:
from requests_oauthlib import OAuth2Session
from oauthlib.oauth2 import LegacyApplicationClient
FACEBOOK_APP_ID = '**********'
FACEBOOK_APP_SECRET = '*********'
username = 'Aman Mittal'
password = '****'
token_url = "https://graph.facebook.com/oauth/access_token"
oauth = OAuth2Session(client=LegacyApplicationClient(client_id=FACEBOOK_APP_ID))
oauth_access_token = oauth.fetch_token(token_url, client_secret=FACEBOOK_APP_SECRET,username=username, password=password, client_id=FACEBOOK_APP_ID)
Когда я запускаю сценарий, он показывает ошибку - «Отсутствует маркер доступа параметр»
Я прошел через TRACEBACK и понял, что маркер доступа получил это:
{"error":{"message":"Missing redirect_uri parameter.","type":"OAuthException","code":191,"fbtrace_id":"CUSmQKT8YGb"}}
Прежде всего, я не понимаю, используя при использовании клиента устаревшего приложения (тип полномочий учетной записи владельца ресурса), зачем мне перенаправлять uri?
Если я предпочитаю запускать веб-сервер, используя web.py или что-то еще. Как зарегистрировать его на Facebook? или мне даже нужно?
PS. Я новичок и для Python, и для публикации в Stack Overflow. Пожалуйста, попробуйте объяснить подробности и простите меня, если я совершу какую-либо глупую ошибку.
Вы не можете. Пользователь должен интерактивно войти в систему. – WizKid
Я уже вошел в свою учетную запись, если вы говорите об этом, и я думаю, что вы этого не делаете. Мы используем перенаправление uri для прямого доступа к клиенту после получения авторизации от него. Но мне не нужно авторизоваться, когда у меня уже есть свой пароль. Я могу просто попросить токен доступа. Тогда почему интерактивно? –
Вам нужен URL-адрес перенаправления. В браузере пользователь будет перенаправлен на Facebook, а затем перенаправлен обратно на указанный вами URL. Это интерактивная часть. – WizKid