获取个人资料 Linkedin 个人资料图片 django-allauth
Getting profile Linkedin Profile Picture django-allauth
我知道这应该是一个问题,但在如此头疼之后,我想我应该帮助解决同样问题的人。
我正在使用 Allauth 0.42.0 和 Django 3.0.8,按照 allauth 文档,我无法,为了我生命中的爱,从用户那里获得个人资料图片 url。
但经过数小时的搜索,我找到了这个解决方案:
# 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']
我希望这对某人有所帮助。
我知道这应该是一个问题,但在如此头疼之后,我想我应该帮助解决同样问题的人。
我正在使用 Allauth 0.42.0 和 Django 3.0.8,按照 allauth 文档,我无法,为了我生命中的爱,从用户那里获得个人资料图片 url。
但经过数小时的搜索,我找到了这个解决方案:
# 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']
我希望这对某人有所帮助。