django allauth:我如何获得linkedin数据 - r_basicprofile,position_fields,location_fields

时间:2018-05-03 10:09:36

标签: django django-allauth allauth

我使用django-allauth==0.35.0进行社交登录。 (仅限linkedin,使用OAUTH 2.0

基于Linkedin开发者文档,(https://developer.linkedin.com/docs/fields)我试图获得基本配置文件字段(al r_basicprofile),如果可能的话,还有位置字段和位置字段。

我在SOCIALACCOUNT_PROVIDERS中添加settings.py,如下所示,

(我不确定如何添加位置和位置,所以我尝试在PROFILE_FIELDS下面添加它们)

SOCIALACCOUNT_PROVIDERS = {
    'linkedin': {
        'SCOPE': [
            'r_emailaddress',
            'r_basicprofile',
            'r_fullprofile',
        ],
        'PROFILE_FIELDS': [
            'id',
            'first-name',
            'last-name',
            'positions',
            'email-address',
            'picture-url',
            'public-profile-url',
            'headline',
            'skills',
            'summary',
            'location',
            'industry',
            'positions',
            'company',
            'specialties',
            'public-profile-url',
        ],
        'LOCATION_FIELDS': [
            'location',
        ],
        'POSITION_FIELDS': [
            'company',
        ]
    }
}

奇怪的是,当我获得了数据时,有很多字段缺失。我只有emailAddressfirstNameidLastNamepublicProfileUrlid。 (这里是sociallogin.serialize().get('account')

{'account': {'date_joined': None,
  'extra_data': {'emailAddress': 'my_email@email.com',
   'firstName': 'myname',
   'id': 'xxxxx',
   'lastName': 'kim',
   'publicProfileUrl': 'https://www.linkedin.com/in/xxxxx'},
  'id': None,
  'last_login': None,
  'provider': 'linkedin_oauth2',
  'uid': 'xxxx',
  'user_id': None},
 'email_addresses': [{'email': 'my_email@email.com',
   'id': None,
   'primary': True,
   'user_id': None,
   'verified': False}],
 'state': {'auth_params': '', 'process': 'login', 'scope': ''},
 'token': {'account_id': None,
  'app_id': 2,
  'expires_at': '2018-07-02T09:55:32.620Z',
  'id': None,
  'token': 'xxx',
  'token_secret': ''},

我在linkedin(https://developer.linkedin.com/docs/fields/basic-profile)提供的基本配置文件字段中找到了更多字段,例如标题,摘要等。但没有任何结果。

我错过了什么?还有什么可以做的吗?如何从linkedin获取所有数据?

P.S。我在我的linkedin应用程序中授予所有auth(r_basicprofile,r_emailaddress,rw_company_admin,w_share)

我感谢任何帮助。

0 个答案:

没有答案