Я не получаю url изображения профиля linkedin в дополнительных данных, используя django allauth linkedin login

Я не могу получить изображение профиля linkedin в дополнительных данных при авторизации с помощью django-allauth. В дополнительных данных url изображения профиля не существует. Я использую django==4.0.4, django-allauth==0.50.0. вот мой setup.py приложения django.

#in setting.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django_extensions',
    'ReviewLink',
    'Users',
    
    # alluth
    'django.contrib.sites',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',


    #social account providers
    'allauth.socialaccount.providers.linkedin_oauth2',
]

SOCIALACCOUNT_PROVIDERS = {
    'linkedin': {
        'SCOPE': [
            'r_liteprofile',
            'r_emailaddress'
        ],
        'PROFILE_FIELDS': [
            'id', 
            'first-name',
            'last-name',
            'email-address',
            'picture-url',
            'public-profile-url',
        ]
    }
}
SITE_ID = 2

SOCIALACCOUNT_ADAPTER = 'Users.my_adapter.MySocialAccountAdapter'

#my_adapter.py

class MySocialAccountAdapter(DefaultSocialAccountAdapter):

    def pre_social_login(self, request, sociallogin):

        if sociallogin.is_existing:

        print("the social account already exists")

            return   

    def populate_user(self, request, sociallogin, data):


    print(f" Social login account profile data IN POPULATE-USER FUNCTION : {sociallogin.account.extra_data}")
    dictionaryData = sociallogin.account.extra_data
    x = dictionaryData['elements']
    fname = dictionaryData['firstName']
    lname = dictionaryData['lastName']
    country = fname['preferredLocale']

    print(f"Data = {data}")

    print(f'provided provided data  = {data["first_name"]}')
    print(f'provided provided data  = {data["last_name"]}')
    print(f'provided provided data  = {data["email"]}')
        
    #data is a dictionaty  {first_name, Last_name, email}

    try:
        #if the person with this email exists in the database dont do anything

        # person = Person.objects.get(email = data["email"])

        email = PersonEmails.objects.get(email = data["email"])
        return
    except:
        #else add the person

        person = Person()
        
        person.email = data["email"]
        person.firstname = data["first_name"] 
        person.lastname = data["last_name"]
        person.country = country['country']
        person.short_id = shortuuid.uuid()
        person.save()
        
        #add person's email in the list as one person can have more than one email
        emails = PersonEmails()

        emails.email = data["email"]
        emails.person = person
        emails.save()
        
        return

Я хочу получать url картинки профиля linkedin при входе в приложение. буду благодарен за помощь. Я буду ждать вашего ответа.

Вернуться на верх