Ответ 1
Вы можете сделать это с помощью API Facebook. Во-первых, вам нужно получить токен вашего приложения Facebook (FACEBOOK_APP_ACCESS_TOKEN
) https://developers.facebook.com/tools/accesstoken/
или от social_user.extra_data['access_token']
Затем с помощью этого токена вы можете отправлять запросы, которые вам нужны, например, этот код получает всех друзей аутентифицированного пользователя с их идентификатором, именем, местоположением, изображением:
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
В зависимости от того, какие поля вы хотите получить, вы можете установить разрешения здесь: https://developers.facebook.com/apps/ → Ваше приложение → Сведения о приложении → Разрешения на App Center
или установите разрешения в settings.py
:
SOCIAL_AUTH_FACEBOOK_SCOPE = [
'email',
'user_friends',
'friends_location',
]