Python社交auth蒸汽头像

时间:2016-06-05 00:27:03

标签: python django

我在我的项目中使用python-social-auth。成功建立帐户。我如何获得Steam用户头像并将其保存在数据库中?

我正在尝试使用像这样的管道

def get_avatar(backend, strategy, details, response,
    user=None, *args, **kwargs):
  url = None
  if backend.name == 'steam':
    url = response['avatarfull']
  if url:
    user.avatar = url
    user.save()

错误 - ' SuccessResponse'对象没有属性' avatarfull'

1 个答案:

答案 0 :(得分:2)

查看code,此信息存储在player dict内的details密钥中。

我不确定你的get_avatar函数的参数来自哪里,但假设它是python-social-auth提供的用户详细信息,那么你可以像这样访问头像:

def get_avatar(backend, strategy, details, response, user=None, *args, **kwargs):
    if backend.name == 'steam':
        url = details['player']['avatarfull']
        if url:
            user.avatar = url
            user.save()

您可能还需要确保以下方法属于SOCIAL_AUTH_PIPELINE

'social.pipeline.social_auth.social_details',