小编use*_*558的帖子

使用Python/Django从Facebook回复"缺少redirect_uri参数"

这可能是一个非常愚蠢的问题,但我一直盯着这几个小时,却找不到我做错了什么.

我正在尝试使用Python通过Facebook API进行身份验证,但是在请求用户访问令牌时遇到问题.收到代码后,我向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()
Run Code Online (Sandbox Code Playgroud)

作为回应,我收到了

{"error":{"message":"缺少redirect_uri参数.","type":"OAuthException","code":191}}

什么想法可能会出错?我已经验证了正在传递的redirect_uri是在应用程序域上,但这可能是一个问题,这是在本地托管,并且该域只是由我的hosts文件重定向到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)
Run Code Online (Sandbox Code Playgroud)

但是,我仍然希望依赖于库,这应该在没有太多困难的情况下原生支持.也许这要求太多了......

python ssl facebook http httplib

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

facebook ×1

http ×1

httplib ×1

python ×1

ssl ×1