我想使用 Linkedin 注册用户,以检索他们的姓名、姓氏和电子邮件。为此,我在 Django 上使用 allauth。我可以注册名字和姓氏,但我无法从数据中自动保存电子邮件。
查看主页 › 社交帐户 › 社交帐户 › “the_user” on Extra data: {"elements": [{"handle": "urn:li:emailAddress:152954186", "handle~": {"emailAddress": "example @example.com"}}], "firstName": { ... . 我可以看到代码确实检索了电子邮件,但它没有存储它。
签入 select * from auth_user;(from database) 或在 Home › Authentication and Authorization › Users 中,我看到代码不会自动存储电子邮件。我想代码检索名字和姓氏,因为这些项目不在数组中。
我的linkedin 应用程序具有r_emailaddress、r_liteprofile 和w_member_social 权限,并且我使用的是OAuth 2.0。
在 settings.py 上:
ALLOWED_HOSTS = ['localhost']
INSTALLED_APPS = [
...
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'allauth.socialaccount.providers.linkedin_oauth2',
]
SOCIALACCOUNT_QUERY_EMAIL = True
SOCIALACCOUNT_PROVIDERS = \
{
'linkedin_oauth2': {
'SCOPE': [
'r_liteprofile',
'r_emailaddress',
'w_member_social',
],
'PROFILE_FIELDS': [
'id',
'firstName',
'lastName',
'emailAddress',
'email-address',
'profilePicture',
'public-profile-url',
],
'LOCATION_FIELDS': [
'location',
],
'POSITION_FIELDS': [
'company',
]
}
}
SOCIAL_AUTH_LINKEDIN_OAUTH2_KEY = 'secret' # App ID
SOCIAL_AUTH_LINKEDIN_OAUTH2_SECRET ='secret' #app key
眼眸繁星
慕盖茨4494581
相关分类