Django邀请社交帐户的朋友

时间:2013-08-07 11:30:27

标签: python django python-2.7 django-models django-views

我正在使用social_auth API进行社交帐户登录。是否有任何可能通过facebook,twitter,linkedin在social-auth中邀请朋友。或任何其他方式邀请社交帐户的朋友。请分享您的想法。

1 个答案:

答案 0 :(得分:0)

扩展@ adamkg的评论:

通过social_auth注册用户后,您可以通过调用UserSocialAuth类的get_social_auth_for_user方法从社交提供商处获取存储的数据(通常是基本的东西,如头像,ID和用户名)。 / p>

根据this setting,某些提供商会存储不同的额外数据,您可以使用custom pipeline step扩展此数据。有关此示例,请查看此related question

此外,所有提供商都存储令牌和uid,因此您可以随时以用户身份请求数据。

因此,要在您的视图中获取Facebook用户朋友,您可以这样做:

social_data = UserSocialAuth.get_social_auth_for_user(request.user)
if social_data.provider == 'facebook':  # get facebook friends
    auth_tokens = social_data.tokens['access_token']
    graph = facebook.GraphAPI(auth_tokens)
    friends = graph.get_connections("me", "friends")
    # now do something with friends ...

在上面的示例中,我使用了facebook这是我在网上找到的第一个facebook图形客户端:facebook-sdk,它也可用on pypi