Django - Как я могу получить день рождения и пол, используя GoogleOAuth2 - PullRequest
0 голосов
/ 27 апреля 2020

Мне удалось настроить работу входа в Google, но я пытаюсь получить дополнительную информацию от пользователей, в частности, пол и день рождения. К сожалению, у меня возникают проблемы при попытке достичь этого.

Вот мои настройки в settings.py:

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = 'xxxx'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'xxxx'

SOCIAL_AUTH_GOOGLE_OAUTH_SCOPE = [
    'https://www.googleapis.com/auth/user.birthday.read',
]


SOCIAL_AUTH_PIPELINE = (
    'social_core.pipeline.social_auth.social_details',
    'social_core.pipeline.social_auth.social_uid',
    'social_core.pipeline.social_auth.auth_allowed',
    'social_core.pipeline.social_auth.social_user',
    'social_core.pipeline.user.get_username',
    'social_core.pipeline.social_auth.associate_by_email',  # <--- enable this one
    'social_core.pipeline.user.create_user',
    'social_core.pipeline.social_auth.associate_user',
    'social_core.pipeline.social_auth.load_extra_data',
    'social_core.pipeline.user.user_details',
)

После добавления ссылки в область, которую я ожидал чтобы получить день рождения, но когда я проверяю ответ от:

https://www.googleapis.com/oauth2/v1/userinfo?access_token= 'xxxx'

, я получаю следующий ответ:

{
  "id": "xx",
  "email": "xx@gmail.com",
  "verified_email": true,
  "name": "xx",
  "given_name": "xx",
  "family_name": "xx",
  "picture": "https://xx.com/a-/xx",
  "locale": "xx"
}

Как видите, день рождения отсутствует. Кто-нибудь прошел через это?

Спасибо

...