【问题标题】:Getting profile Linkedin Profile Picture django-allauth获取个人资料 Linkedin 个人资料图片 django-allauth
【发布时间】:2020-08-04 18:19:18
【问题描述】:

我知道这应该是一个问题,但是在如此头痛之后,我想我应该帮助解决同样问题的人。

我正在使用 Allauth 0.42.0 和 Django 3.0.8,按照 allauth 文档,我无法从用户那里获取个人资料图片网址。

【问题讨论】:

    标签: django django-allauth


    【解决方案1】:

    但数小时的搜索让我找到了这个解决方案:

    # access_token required by LinkedIn's API
    access_token = SocialToken.objects.get(account__user=user, account__provider='linkedin_oauth2')
    
    # The request
    r = requests.get(f"https://api.linkedin.com/v2/me?projection=(profilePicture("
                             f"displayImage~:playableStreams))&oauth2_access_token={access_token}")
    
    # The json on the profile picture key
    profile_pic_json = r.json().get('profilePicture')
    
    # There's a lot of pictures sizes, so I put it on a array to easier reading
    elements = profile_pic_json['displayImage~']['elements']
    
    # elements[len(elements)-1] returns the pic with the highest resolution
    # ['identifiers'][0]['identifier'] is the url itself
    url_picture = elements[len(elements)-1]['identifiers'][0]['identifier']
    

    我希望这对某人有所帮助。

    猜你喜欢
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多