我在这里找到了方向如下:Facebook的OAuth的问题
http://developers.facebook.com/docs/authentication/
试图连接到Facebook的图形API服务器端。我使用Django和基本复制相同的代码在这里找到:
https://github.com/facebook/python-sdk/blob/master/examples/oauth/facebookoauth.py
这里是我的代码
def get_code(request):
c = RequestContext(request)
verification_code = request.GET.get('code',None)
args = dict(client_id=FACEBOOK_APP_ID, redirect_uri=REDIRECT)
if verification_code:
args["client_secret"] = FACEBOOK_SECRET_KEY
args["code"] = verification_code
response = cgi.parse_qs(urllib.urlopen(
"https://graph.facebook.com/oauth/access_token?" +
urllib.urlencode(args)).read())
print "------------------------"
print response
#access_token = response["access_token"][-1]
#print access_token
print "------------------------"
else:
http.HttpResponseRedirect("https://graph.facebook.com/oauth/authorize?" + urllib.urlencode(args))
不管怎么说,我能顺利拿到授权代码,但是当我尝试用它来获得我的access_token,我看到以下响应:
{
"error": {
"type": "OAuthException",
"message": "Error validating verification code."
}
}
我不知道是怎么回事,但我对两者是叔以下几个方向是他的脸书网站,以及他们提供的代码,这不适用于Python或浏览器。有趣的是,如果我使用具有相同凭证的客户端流程,我可以通过散列标签获取access_token,但这对我没有用处。
此外,我正在测试本地@http://127.0.0.1:8000,并通过我的Facebook应用程序设置正确配置。
由于
UPDATE:
我固定它,事实证明这两种redirect_urs必须是相同的 我使用
^/实/ AUTH/
和
^facebook/auth/token/
,只要我使用这两种
的Facebook /认证/ + Facebook的/ auth /中
它的工作
绝对将您的修补程序拆分为答案,并将其标记为已接受。我保证,你遇到的问题已经让其他人感到困扰。 – tephyr