【问题标题】:Inviting Facebook Friends to join site with python social auth使用 python social auth 邀请 Facebook 好友加入网站
【发布时间】:2015-03-26 17:56:02
【问题描述】:

我正在尝试首先从使用 facebook 帐户登录的用户那里获取朋友列表。我没有运气就关注了这篇文章:How to retrieve Facebook friend's information with Python-Social-auth and Django

每次调用应该检索 Facebook 朋友的视图时,我都会设置并清空朋友。理想情况下,我想检索 facebook 朋友,并在侧面有一个邀请按钮,邀请用户的朋友注册 web 应用程序。

这就是我的views.py:

social_user = request.user.social_auth.filter(provider='facebook',).first()
if social_user:
    url = u'https://graph.facebook.com/{0}/' \
          u'friends?fields=id,name,location,picture' \
          u'&access_token={1}'.format(
              social_user.uid,
              social_user.extra_data['access_token'],
          )
request2 = urllib2.Request(url)
friends = json.loads(urllib2.urlopen(request2).read()).get('data')
return render_to_response('friends/friends.html', {'user': request.user, 'friends':friends})

【问题讨论】:

    标签: python django facebook


    【解决方案1】:

    自 Graph API 2.0+ 起,您只能获取正在使用您的应用程序的朋友。您发布的链接显示了它在 v1.0 中是如何完成的,该版本已不再可用。

    https://developers.facebook.com/docs/graph-api/reference/v2.2/user/friends

    • 需要具有 user_friends 权限的用户访问令牌才能查看当前人的朋友。
    • 这只会返回任何使用过(通过 Facebook 登录)提出请求的应用的朋友。
    • 如果此人的朋友拒绝 user_friends 权限,该朋友将不会出现在此人的朋友列表中。

    因此,如果没有朋友使用过您的应用程序并且未授予user_friends,则该列表将为空。

    也可以邀请好友https://developers.facebook.com/docs/graph-api/reference/v2.2/user/invitable_friends

    Invitable Friends API 仅适用于归类为游戏的应用,这些应用也具有 Canvas。此 API 在 v1.0 中不可用。只要手机游戏也存在 Canvas,它就可以被调用。

    剩下的唯一方法是https://developers.facebook.com/docs/sharing/reference/send-dialog

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多