python-social-auth não está obtendo detalhes corretos do Google OAuth2

Quero fazer login de um usuário usando opython-social-auth funcionalidade para o login do Google Plus no Django. Ao fazer login no meu site, tudo funciona bem e os detalhes corretos são adicionados ao banco de dados.

No entanto, também quero me autenticar no meu aplicativo Android. O usuário efetua login no aplicativo, que envia o token de acesso à API do django, que lida com o processo de login no código a seguir, adaptado dea documentação:

@csrf_exempt
@serengeti_api_request
@psa('social:complete')
def login_social_token(request, backend):
    # Ensure the token has been specified.
    token = request.META.get('HTTP_ACCESSTOKEN')
    if token is None:
        raise SerengetiApiRequestException('Access token is missing!')

    # Login the user for this session
    user = request.backend.do_auth(token)
    if user is None:
        raise SerengetiApiRequestException('Could not authenticate user!')

    login(request, user)

    # Store the email address if one has been specified (e.g. Twitter)
    email = request.META.get('HTTP_EMAIL')
    if email is not None:
        user.email = email
        user.save()

    # Prepare the parameters to be returned
    response = dict({
        'id': user.id,
        'first_name': user.first_name,
        'last_name': user.last_name,
        'api_key': request.session.session_key,
    })

    # Return a 200 status code to signal success.
    return HttpResponse(json.dumps(response, indent=4), status=200)

Ao fazer login no site, osocial_auth_usersocialauth tabela contém:

id | provider      | uid       | extra_data
==========================================
10 | google-oauth2 | <myemail> | {"token_type": "Bearer", "access_token": "<token>", "expires": 3600}

No entanto, ao efetuar login a partir do aplicativo usando a função acima, a operação é concluída ok, mas a entrada na tabela fica assim:

id | provider      | uid     | extra_data
=========================================
10 | google-oauth2 | <empty> | {"access_token": "", "expires": null}

Também oauth_user tabela contém umusername gostareeed494412obfuscated48bc47dd9b em vez do nome de usuário do Google Plus e doemail O campo está vazio.

O que estou fazendo de errado e como posso obter a mesma funcionalidade que recebo no site?

Gostaria de mencionar que implementei a autenticação do Facebook e Twitter a partir do aplicativo Android, que chama a função mencionada acima e armazena os detalhes corretos, apenas o Google Plus está causando problemas.

questionAnswers(4)

yourAnswerToTheQuestion