Джанго Аллах: как я могу получить данные о мышах - r_basicprofile, position_fields, location_fields - PullRequest
0 голосов
/ 03 мая 2018

Я использую django-allauth==0.35.0 для sociallogin. (только linkedin, используя OAUTH 2.0)

На основе документации разработчиков Linkedin, (https://developer.linkedin.com/docs/fields) Я пытался получить Поля базового профиля (r_basicprofile в аллахе), а также поля местоположения и поля позиции, если это возможно.

Я добавляю SOCIALACCOUNT_PROVIDERS в settings.py, как показано ниже,

(я не уверен, как добавить местоположение и позицию, поэтому я попытался добавить их ниже PROFILE_FIELDS)

SOCIALACCOUNT_PROVIDERS = {
    'linkedin': {
        'SCOPE': [
            'r_emailaddress',
            'r_basicprofile',
            'r_fullprofile',
        ],
        'PROFILE_FIELDS': [
            'id',
            'first-name',
            'last-name',
            'positions',
            'email-address',
            'picture-url',
            'public-profile-url',
            'headline',
            'skills',
            'summary',
            'location',
            'industry',
            'positions',
            'company',
            'specialties',
            'public-profile-url',
        ],
        'LOCATION_FIELDS': [
            'location',
        ],
        'POSITION_FIELDS': [
            'company',
        ]
    }
}

Странно то, что, когда я получил данные о мышах, много пропущенных полей. Я получил только emailAddress, firstName, id, LastName, publicProfileUrl, id. (вот sociallogin.serialize().get('account'))

{'account': {'date_joined': None,
  'extra_data': {'emailAddress': 'my_email@email.com',
   'firstName': 'myname',
   'id': 'xxxxx',
   'lastName': 'kim',
   'publicProfileUrl': 'https://www.linkedin.com/in/xxxxx'},
  'id': None,
  'last_login': None,
  'provider': 'linkedin_oauth2',
  'uid': 'xxxx',
  'user_id': None},
 'email_addresses': [{'email': 'my_email@email.com',
   'id': None,
   'primary': True,
   'user_id': None,
   'verified': False}],
 'state': {'auth_params': '', 'process': 'login', 'scope': ''},
 'token': {'account_id': None,
  'app_id': 2,
  'expires_at': '2018-07-02T09:55:32.620Z',
  'id': None,
  'token': 'xxx',
  'token_secret': ''},

Я нашел гораздо больше полей в полях базового профиля, предложенных в linkedin (https://developer.linkedin.com/docs/fields/basic-profile), таких как заголовок, сводка и т. Д. Но ничего не получается.

Что я пропустил? Есть что-то еще? Как я могу получить все данные от linkedin?

p.s. Я предоставляю все данные аутентификации в моих приложениях (r_basicprofile, r_emailaddress, rw_company_admin, w_share)

Я ценю любую помощь.

...