在Django中从Facebook或Twitter检索用户信息

时间:2011-09-12 11:01:59

标签: python django facebook

我使用django.contrib.auth创建了Django的注册流程,并且还设置了用户配置文件。现在我想添加一个选项,从Facebook,Twitter和LinkedIn等第三方网站获取配置文件的信息。我找到了django-socialregistration,但我不知道如何覆盖默认的设置视图。什么是最好和最简单的解决方案?

1 个答案:

答案 0 :(得分:3)

这是我使用的设置的基本概念,虽然它仅适用于Facebook:

  1. 整合Facebook JavaScript SDK
  2. 将调用FB.login的JavaScript函数绑定到“使用Facebook登录”按钮,请求该用户所需的所有权限
  3. function(response)调用的FB.login部分,处理返回的响应,然后对Django视图执行Ajax POST(我使用jQuery),获取响应,解析它以检索用户的访问令牌并将其存储在该用户的用户配置文件对象中。
  4. 然后,您可以使用此access_token代表该用户服务器端发出Facebook Graph API请求,或者如果您愿意,您实际上只需使用JavaScript SDK即可完全在客户端进行所有通话 - 有很多Ajax可以与Django后端进行交互。
  5. 我发现这比尝试使用其中一个Django软件包更简单,因为大多数软件包已经过时了。