【问题标题】:How to get birthday date from Google in Django-allauth?如何在 Django-allauth 中从 Google 获取生日日期?
【发布时间】:2014-09-12 22:58:25
【问题描述】:

我正在尝试使用 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 字段。

【问题讨论】:

  • 你试过什么?代码示例?

标签: python django oauth google-oauth django-allauth


【解决方案1】:

为了满足我在学术项目中的用例,我有 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']访问

【讨论】:

  • 能否详细介绍一下它的用法
  • @ManasKinkar 这是我几年前做的学术研究,现在已弃用。
  • 是的,我遇到了一些问题。感谢您的回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
  • 1970-01-01
  • 2012-11-20
  • 1970-01-01
  • 1970-01-01
  • 2013-08-05
相关资源
最近更新 更多