Это, наверное, очень глупый вопрос, но я смотрел на это часами и не могу найти то, что я делаю неправильно.«Отсутствует параметр redirect_uri» от Facebook с Python/Django
Я пытаюсь использовать Python для аутентификации с помощью API Facebook, но у меня возникают проблемы с запросом доступа к токену доступа. Получив код, я делаю запрос на https://graph.facebook.com/oauth/access_token так:
conn = httplib.HTTPSConnection("graph.facebook.com")
params = urllib.urlencode({'redirect_uri':request.build_absolute_uri(reverse('some_app.views.home')),
'client_id':apis.Facebook.app_id,
'client_secret':apis.Facebook.app_secret,
'code':code})
conn.request("GET", "/oauth/access_token", params)
response = conn.getresponse()
response_body = response.read()
В ответ я получаю
{ "Ошибка": { "сообщение": "Отсутствующие redirect_uri параметр",» type ":" OAuthException "," code ": 191}}
Любые идеи, что может быть не так? Я уже подтвердил, что передаваемый redirect_uri находится в домене приложения, но может ли это быть проблемой, что это локально локально, и этот домен просто перенаправлен на localhost файлом моих хостов?
Благодарим за помощь!
редактировать:
Я получил эту работу с помощью библиотеки запросов:
params = {'redirect_uri':request.build_absolute_uri(reverse('profiles.views.fb_signup')),
'client_id':apis.Facebook.app_id,
'client_secret':apis.Facebook.app_secret,
'code':code}
r = requests.get("https://graph.facebook.com/oauth/access_token",params=params)
Однако я по-прежнему предпочитаю зависеть от библиотеки, когда это должно быть изначально поддерживаются без особых трудностей. Может быть, это просят слишком много ...
Если ваш локальный настроен правильно, он должен работать. Facebook проверяет, работает ли перенаправление –
Вот что я подумал. Любые идеи, что еще может пойти не так? – user1462558
mmm, на facebook разработчики идут в ваше приложение. Перенаправление uri должно соответствовать приложению uri –