Django-Allauth и django-facebook для получения изображений профиля Facebook

Я интегрировал django-rest-auth и django-allauth для регистрации/входа пользователя через Facebook.

Теперь я могу аутентифицировать (и я могу создать) пользователя Facebook, и я могу получить некоторую базовую информацию, такую как электронная почта, имя, фамилия...

Теперь мне нужно также получить некоторые изображения профиля (последние 3 изображения профиля пользователя) о пользователе при его регистрации на моей платформе.

Я в замешательстве, потому что я не могу использовать allauth для получения этой информации из Facebook, поэтому, возможно, мне нужно получить ее напрямую с помощью Facebook GraphAPI (правильно ли это мое решение?)

Является ли хорошим решением интеграция django_facebook?


person Safari    schedule 18.03.2015    source источник


Ответы (2)


Фотография может быть получена напрямую с помощью UID пользователя и этого URL:

http://graph.facebook.com/UID/изображение? ширина = 40 и высота = 40

В функции:

 fb_uid = SocialAccount.objects.filter(user_id=self.user.id, provider='facebook')

 if len(fb_uid):
         return "http://graph.facebook.com/{}/picture?width=40&height=40".format(fb_uid[0].uid)
person Leo    schedule 26.03.2015
comment
Мне нужно получить некоторые изображения профиля (последние 3 изображения профиля пользователя) - person Safari; 26.03.2015

Я не совсем уверен, но я думаю, что вы получите доступ к фотографиям пользователя, когда добавите «user_photos» в список областей в конфигурации Facebook. Вы пробовали?

Вот ссылка на документацию django allauth: http://django-allauth.readthedocs.org/en/latest/providers.html#facebook

person Mateusz Sikora    schedule 18.03.2015
comment
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. - person Arun A S; 18.03.2015