从视图中获取Django Python Social Auth的用户信息

时间:2017-08-29 02:51:16

标签: python django python-social-auth django-socialauth

第一次使用python-social-auth和Django时,却无法确切地知道有多少关于用户社交帐户的信息可供我使用。

当我访问UserSocialAuth对象的extra_data时,我可以获取uid和access_token。为了获得更多细节,我可以通过社交公司(前脸谱)API提供这些信息吗?

我可以看到,对于像Facebook这样的社交作家来说,Django的user对象神奇地填充了社交个人资料中的名字和姓氏,但对于像LinkedIn这样的其他人来说,这些名字并不起作用。如何在不手动探测每个社会认证的情况下找出哪些信息可用?

我只想努力获得更多"个人资料"来自用户的数据,我担心通过API是长期的"实现这一目标。我实际上已经阅读了文档,但对我来说可能太先进了;我不知道如何使用视图中管道获取的数据。我甚至不确定这句话是否有意义!

1 个答案:

答案 0 :(得分:1)

python-social-auth只会获取必要的位来填充:

  • 电子邮件
  • 用户名
  • 名字
  • 姓氏

某些API会在身份验证流程中提供更多详细信息,可以根据SOCIAL_AUTH_EXTRA_DATA设置将这些详细信息保存在extra_data中。

某些后端会向提供程序中的API发出调用以获取额外数据。调试可用数据的一种简单方法是在默认步骤之间添加自定义管道,并在args中打印所有内容。

根据uidaccess_token,是的,您是对的,在调用提供商提供的任何API时都需要这些值,有时两者都有,有时access_token就足够了。< / p>