我使用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',
]
}
}
奇怪的是,当我获得了数据时,有很多字段缺失。我只有emailAddress
,firstName
,id
,LastName
,publicProfileUrl
,id
。 (这里是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)
我感谢任何帮助。