Django allauth获取完整的linkedin详细信息

时间:2017-01-31 16:03:14

标签: django django-allauth

然后将django-allauth与linkedin一起使用,无法从用户的个人资料中获取完整的个人资料详情。

设置文件中的

SOCIALACCOUNT_PROVIDERS = { 
        'stackexchange': { 'SITE': 'stackoverflow' },
        'linkedin':{'SCOPE': ['r_basicprofile', 'r_emailaddress']}
    }

并在帐户上检查extra_data并获取

{u'firstName': u'Samuel', u'lastName': u'Muiruri', u'pictureUrls': {u'_total': 1, u'values': [u'https://media.licdn.com/mpr/mprx/0_C1AR7HY-6mvzKOYWkCPzody-62WvzgOW5_7nWd8yaZHnlyuFFiKcIigGyxn']}, u'pictureUrl': u'https://media.licdn.com/mpr/mprx/0_dCvykIHSymsQZ-MUdbc_kWwSpuuw4-4UI5TikeHriWZsFnfR5k5KoHyO-G2vUzJBHTBCwfVnu3gN', u'emailAddress': u'muiruri.samuel@gmail.com', u'publicProfileUrl': u'https://www.linkedin.com/in/samuel-muiruri-a5235532', u'id': u'_xLBtzYkuK'}

在linkedin dev oauth页面上我已选择了电子邮件和r_basicprofile

更新

oauth 2 enter image description here

中链接的可用选项

并通过linkedin登录时获得权利

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您在应用页面上仅向r_basicprofile授予了应用访问权限,则无法获得r_fullprofile。要让您的应用访问完整的个人资料,请在链接的oauth页面中授予其r_fullprofile的访问权限。

来自the LinkedIn docs

  

所有REST API调用都需要先从LinkedIn成员授予某些权限才能生成。该系统可确保成员在批准之前了解应用程序可能访问或代表他们执行的操作。

     

要求成员授予的权限取决于您在OAuth 2.0身份验证过程中告知应用程序要求的权限。它们可以在LinkedIn应用程序配置中指定,也可以在OAuth 2.0过程的授权步骤中使用scope参数显式请求。