Bru*_*ino 11 python django facebook facebook-graph-api python-social-auth
如何使用Python-Social-auth和Django检索Facebook好友的信息?我已经检索了个人资料信息并对用户进行了身份验证,但我希望获得有关他们朋友的更多信息并邀请他们加入我的应用.谢谢!
ver*_*4ka 13
你可以使用Facebook API来做到这一点.首先,您需要获取Facebook应用程序的令牌(FACEBOOK_APP_ACCESS_TOKEN)https://developers.facebook.com/tools/accesstoken/
或social_user.extra_data['access_token']
然后使用此令牌,您可以发送所需的请求,例如,此代码通过其ID,名称,位置,图片获取经过身份验证的用户的所有朋友:
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'],
)
request = urllib2.Request(url)
friends = json.loads(urllib2.urlopen(request).read()).get('data')
for friend in friends:
# do something
Run Code Online (Sandbox Code Playgroud)
根据您想要获得的字段,您可以在此处设置权限:https: //developers.facebook.com/apps/ - >您的应用程序 - >应用程序详细信息 - >应用程序中心权限
或者在settings.py以下位置设置权限:
SOCIAL_AUTH_FACEBOOK_SCOPE = [
'email',
'user_friends',
'friends_location',
]
Run Code Online (Sandbox Code Playgroud)