Skip to main content
 首页 » 编程设计

python之使用 django_facebook 从 Facebook 获取用户信息

2024年10月25日38qq号

如果这是转贴,首先我想向社区道歉。 我在 stackoverflow 上搜索可能对我有帮助的东西,但我的搜索没有成功。所以我的问题来了。

也许这是我缺乏技能,但我个人无法通过 django_facebook 文档找到出路。我经历了整件事,尽管我认为所有的部分都得到了很好的解释,但对我来说,创建一个大图还是相当困难的......

我设法将 django_facebook 与 facebook 上的一个应用程序连接起来,甚至登录,但我无法做的是提取有关已登录用户的信息。我的目标是允许用户在我的网站上登录/注册 Facebook ,并从 Facebook 提取他们的基本信息,以便我可以将他们推荐为我网站上他们个人资料的用户信息。

如果您能彻底解释整个登录/注册和获取有关用户过程的信息,我将非常感激。

附注有人向我推荐了 django_allauth。我应该切换到那个吗?如果是,那么 djang_facebook 和 django_allauth 的优缺点是什么? p.p.s.此外,我无法为 django_facebook 或 django_allauth 找到任何像样的教程。如果有的话,请给我链接:)

请您参考如下方法:

Here是一个说明如何使用 all_auth 进行社交身份验证的教程。 您可以直接从 allauth 对象访问数据,在您的 view 中使用如下代码片段:

首先,使用以下方法从帐户中获取信息:

account_uid = SocialAccount.objects.filter(user_id=request.user.id, provider='facebook') 

然后,使用下面给出的成员属性,您可以获得已公开的参数。

account_uid[0].get_avatar_url() 
account_uid[0].extra_data['username'] 
account_uid[0].extra_data['first_name'] 
account_uid[0].extra_data['last_name'] 
account_uid[0].extra_data['gender'] 
account_uid[0].extra_data['email'] 
account_uid[0].extra_data['link'] 
account_uid[0].extra_data['uid']