django-allauth 不保存 google 额外数据
django-allauth not saving google extra data
这是我的 settings.py
# other settings
SOCIALACCOUNT_PROVIDERS = {
'facebook': {
'SCOPE': [
'email',
'public_profile',
'user_friends',
'user_gender',
'user_birthday',
'user_location',
'user_link',
'user_age_range',
],
'FIELDS': [
'id',
'first_name',
'last_name',
'middle_name',
'name',
'short_name',
'name_format',
'gender',
'birthday',
'age_range',
'friends',
'location',
'picture',
'link',
],
'EXCHANGE_TOKEN': True,
'VERIFIED_EMAIL': False,
'VERSION': 'v7.0',
},
'google': {
'SCOPE': [
'https://www.googleapis.com/auth/userinfo.profile',
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/user.emails.read',
'https://www.googleapis.com/auth/user.phonenumbers.read',
'https://www.googleapis.com/auth/user.birthday.read',
'https://www.googleapis.com/auth/profile.agerange.read',
'https://www.googleapis.com/auth/user.addresses.read',
],
'AUTH_PARAMS': {
'access_type': 'online',
}
}
}
它在 facebook 上运行良好,我在那里得到了我想要的,但是在 google 上一切正常,同时签名(请求权限.. 一切顺利)它对用户进行身份验证并将其保存在数据库中,但是在 extra data 字段上我只是得到
{
"id": "...",
"email": "...",
"verified_email": true,
"name": "..",
"given_name": "..",
"picture": "..",
"locale": "en"
}
生日、性别、地址、 agerange 和其他字段。
Data protected birthday, gender, addresses, agerange等字段一般默认设置为Private。因此,外部 API 访问仅限于给定用户的 Public 字段。
例如生日:
如果您访问自己的帐户 birthday。您会注意到它可能设置为 'Only Me',表示它已设置为私有。
为了访问您被限制访问的所有字段,您必须更改所有组件的配置文件配置,使它们 Public.
这是我的 settings.py
# other settings
SOCIALACCOUNT_PROVIDERS = {
'facebook': {
'SCOPE': [
'email',
'public_profile',
'user_friends',
'user_gender',
'user_birthday',
'user_location',
'user_link',
'user_age_range',
],
'FIELDS': [
'id',
'first_name',
'last_name',
'middle_name',
'name',
'short_name',
'name_format',
'gender',
'birthday',
'age_range',
'friends',
'location',
'picture',
'link',
],
'EXCHANGE_TOKEN': True,
'VERIFIED_EMAIL': False,
'VERSION': 'v7.0',
},
'google': {
'SCOPE': [
'https://www.googleapis.com/auth/userinfo.profile',
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/user.emails.read',
'https://www.googleapis.com/auth/user.phonenumbers.read',
'https://www.googleapis.com/auth/user.birthday.read',
'https://www.googleapis.com/auth/profile.agerange.read',
'https://www.googleapis.com/auth/user.addresses.read',
],
'AUTH_PARAMS': {
'access_type': 'online',
}
}
}
它在 facebook 上运行良好,我在那里得到了我想要的,但是在 google 上一切正常,同时签名(请求权限.. 一切顺利)它对用户进行身份验证并将其保存在数据库中,但是在 extra data 字段上我只是得到
{
"id": "...",
"email": "...",
"verified_email": true,
"name": "..",
"given_name": "..",
"picture": "..",
"locale": "en"
}
生日、性别、地址、 agerange 和其他字段。
Data protected birthday, gender, addresses, agerange等字段一般默认设置为Private。因此,外部 API 访问仅限于给定用户的 Public 字段。
例如生日:
如果您访问自己的帐户 birthday。您会注意到它可能设置为 'Only Me',表示它已设置为私有。
为了访问您被限制访问的所有字段,您必须更改所有组件的配置文件配置,使它们 Public.