【问题标题】:python social auth linkedin picture url is nullpython social auth linkedin 图片 url 为空
【发布时间】:2015-06-01 10:07:11
【问题描述】:

我正在使用带有 django 的 python social auth 通过 LinkedIn 登录,并尝试获取公共图片 URL。但是,无论我做什么,我都会一直为空。我尝试了所有可能的组合,从 public-picture-url 到 pictureUrl,下划线、CamelCase 和破折号的每个组合,有或没有“公共”。没有任何效果。

这是我的(当前)设置:

SOCIAL_AUTH_LINKEDIN_SCOPE = ['r_basicprofile', 'r_emailaddress']
SOCIAL_AUTH_LINKEDIN_FIELD_SELECTORS = ['picture-url', 'email-address', 'headline', 'industry']
SOCIAL_AUTH_LINKEDIN_EXTRA_DATA = [('id', 'li_id'),
                               ('firstName', 'first_name'),
                               ('lastName', 'last_name'),
                               ('emailAddress', 'email_address'),
                               ('headline', 'headline'),
                               ('picture-url', 'picture_url')]

AUTHENTICATION_BACKENDS = (
'social_auth.backends.contrib.linkedin.LinkedinBackend',
'django.contrib.auth.backends.ModelBackend',
)

PS 我看过这个Django/ python-social-auth: LinkedIn extra data returns null on some fields 并没有帮助。

【问题讨论】:

标签: python django python-social-auth


【解决方案1】:

默认情况下,显然收集额外数据不在管道中。这解决了它:

SOCIAL_AUTH_PIPELINE = (
    'social.pipeline.social_auth.social_details',
    'social.pipeline.social_auth.social_uid',
    'social.pipeline.social_auth.auth_allowed',
    'social.pipeline.social_auth.social_user',
    'social.pipeline.user.get_username',
    'social.pipeline.user.create_user',
    'social.pipeline.social_auth.associate_user',
    'social.pipeline.social_auth.load_extra_data',
    'social.pipeline.user.user_details'
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-30
    • 2014-11-02
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 2016-10-16
    • 2016-05-11
    • 1970-01-01
    相关资源
    最近更新 更多