python Python,Facebook,python-social-auth:获取Facebook好友列表及其姓名,位置,个人资料图片和个人资料页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Python,Facebook,python-social-auth:获取Facebook好友列表及其姓名,位置,个人资料图片和个人资料页面相关的知识,希望对你有一定的参考价值。

class FlightDetail(View):
    # ...
    
    def get_context_data(self, **kwargs):
        context = super(FlightDetail, self).get_context_data(**kwargs)
        friends_in_city = []
        if request.user.is_authenticated():
            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:
                    if (
                        friend.get('location')
                        and flight.arrival_airport.city
                        and flight.arrival_airport.city.name
                        in friend['location']['name']
                    ):
                        friends_in_city.append({
                            'name': friend['name'],
                            'photo': friend['picture']['data']['url'],
                            'profile_url':
                            'https://www.facebook.com/{0}'.format(friend['id']),
                        })
        context.update({
            'friends_in_city': friends_in_city,
        })
        return context
SOCIAL_AUTH_FACEBOOK_SCOPE = [
    'email',
    'user_friends',
    'friends_location',
]

以上是关于python Python,Facebook,python-social-auth:获取Facebook好友列表及其姓名,位置,个人资料图片和个人资料页面的主要内容,如果未能解决你的问题,请参考以下文章

Facebook-sdk python模块没有属性GraphAPI

pip 另一种安装方法:python setup.py install

如何从 Python 中的子文件夹导入模块或文件?

我可以使用 python 元类来跟踪单独文件中的子类吗?

使用 facebook api 时出现错误

python Python,Facebook,python-social-auth:获取Facebook好友列表及其姓名,位置,个人资料图片和个人资料页面