Django:完整的Facebook和Twitter集成(Django-Facebook,django-social-auth,django-allauth)

7

在我提出问题之前,我想告诉你,我知道有一些非常优秀的Django包可以用于Twitter和Facebook集成:

那么,这是我的问题:

我想要什么?

我想要:

  1. 允许用户通过Facebook和Twitter进行注册(使用上述任何一种方法都很容易实现)。
  2. 允许将多个社交账户集成到一个用户账户中(我认为#2和#3都可以做到)。
  3. 从Facebook或Twitter数据创建个人资料(在fb的情况下需要扩展权限)。因此,这意味着我们还需要访问来自Facebook和Twitter的数据。
  4. 允许用户从Django应用程序发布到Facebook和Twitter(包括活动和表单)。
  5. 邀请和查找Facebook好友(#3可以做到)。
  6. 提供与Facebook应用程序相同的功能(#3可以做到)。
  7. 发布到用户拥有的Facebook页面(我不确定#3是否可以做到)。

我认为

如果我只需要处理Facebook,那么我认为Django-Facebook几乎回答了我所有的问题。但是由于我也想支持Twitter,我不确定该怎么办。我所能想到的:

  1. Django-Facebook 用于Facebook,而 django-social-authdjango-allauth 用于Twitter。我不确定这种组合是否可行。请告诉我您是否尝试过类似的任何操作。
  2. 只有当django-social-authdjango-allauth可以提供上述Facebook功能时才使用它们。

[编辑:] 实际上我正在寻找对以下两个问题的答案:

  1. 如果我选择仅使用django-social-auth,那么能否指导我与Facebook和Twitter交互的示例/代码片段。
  2. 如果我想使用Django-Facebook(因为它提供了很多功能),那么我可以选择它仅用于Facebook,而将django-social-auth(或django-allauth)仅用于Twitter吗?我的意思是所有与Facebook相关的内容都使用Django-facebook,而所有涉及Twitter的内容都使用social-auth或allauth。这种组合是否可行?

非常感谢您提前宝贵的建议。

1个回答

2

django-social-auth 与其名字一样,关注的是认证。您列表中的前三项涉及认证(以及个人资料),因此我建议对于这些内容使用 django-social-auth

剩下的部分涉及与不同服务的交互,最好使用其他库来处理,比如您提到的那个 (django-facebook等)。 django-social-auth 将负责访问令牌和权限,因此您可以与其他应用程序一起使用它们来执行 API 操作。


我理解你的意思。实际上,我正在寻找这两个问题的答案:
  1. 如果我选择仅使用django-social-auth,那么有人可以指向与Facebook和Twitter交互的示例/代码片段吗?
  2. 如果我想要使用Django-Facebook(因为它提供了很多功能),我可以选择它来处理Facebook,而使用django-social-auth(或django-allauth)仅处理Twitter。我的意思是使用Django-facebook处理与Facebook相关的所有内容,而使用social-auth或allauth处理与Twitter相关的所有内容。这种组合是否可行?
- Humble Learner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接