【问题标题】:Facebook OAuth IssuesFacebook OAuth 问题
【发布时间】:2011-10-01 23:23:04
【问题描述】:

我正在按照此处的说明进行操作:

http://developers.facebook.com/docs/authentication/

尝试连接到 facebook graph 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."
   }
}

我不知道发生了什么,但我在 facebook 网站和他们提供的代码上都遵循指示,这在 Python 和浏览器中都不起作用。有趣的是,如果我使用具有相同凭据的客户端流程,我可以通过哈希标签获取 access_token,但这对我没有用。

另外,我正在本地测试 @http://127.0.0.1:8000 并通过我的 facebook 应用设置正确配置。

谢谢

更新:

我修好了,结果两个 redirect_urs 必须是相同的 我正在使用

^/facebook/auth/

^facebook/auth/token/

两个都用了

facebook/auth/ + facebook/auth/

成功了

【问题讨论】:

  • 绝对将您的修复拆分为一个答案,并将其标记为已接受。我保证,你遇到的问题已经伤害了其他人。

标签: python facebook facebook-graph-api oauth-2.0


【解决方案1】:

我看到您找到了解决问题的方法。我还想提一下我维护的一个库,它在使用 Python 使用 OAuth 提供程序时可能会让你的生活更轻松,它被称为 rauth。特别是 an example 使用 Flask 连接到 Facebook 的 Graph API,这可能很有用。

现在您已经开始使用它,这可能对您没有用处,但下次您需要在 Python 中使用 OAuth 提供程序时可能需要考虑一些事情?

【讨论】:

    猜你喜欢
    • 2011-08-07
    • 2015-06-20
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多