我正试图通过Django-Allauth从Google oauth获取生日,但我不能。
我读到我必须将范围设为“https://www.googleapis.com/auth/plus.me”,但在extra_data字段中没有任何内容。
你能帮帮我吗? 谢谢编辑: 示例代码:
SOCIALACCOUNT_PROVIDERS = {
'facebook':
{'SCOPE': ['publish_stream', 'email', 'user_birthday', 'user_location'],
'AUTH_PARAMS': {'auth_type': 'https'},
'METHOD': 'oauth2',
'VERIFIED_EMAIL': True},
'google':
#{ 'SCOPE': ['https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/userinfo.email',],
{ 'SCOPE': ['https://www.googleapis.com/auth/plus.login', 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/plus.me'],
'AUTH_PARAMS': { 'access_type': 'online' },
} }
在Facebook上工作,我有新的extra_data信息,如生日,性别等。但谷歌没有用新信息填充extra_data字段。
答案 0 :(得分:0)
出于在一个学术项目中满足用例的目的,我forked django-allauth
添加了一些功能,其中包括额外的Google个人资料数据,
您可以使用pip安装软件包
pip install django-allauth-underground
将Google范围配置为
SOCIALACCOUNT_PROVIDERS = {
'google': {
'SCOPE': [
'https://www.googleapis.com/auth/user.birthday.read',
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile'
],
'AUTH_PARAMS': {
'access_type': 'online',
}
},
}
成功注册后,将使用一些 实际额外数据 来更新额外数据
可以从extra_data['people']