title: python-social-auth not getting correct Google OAuth2 details
body: <p>I want to login a user using the <code>python-social-auth</code> functionality for Google Plus signin in Django. When logging in from my website, everything works fine and the correct details are added to the database.</p>
  
  <p>However, I want to authenticate from my Android application as well. The user logs in in the application, which then sends the access token to the django API, which handles the login process in the following code, adapted from <a href="http://psa.matiasaguirre.net/docs/use_cases.html#signup-by-oauth-access-token" rel="noreferrer">the documentation</a>: </p>
  
  <pre><code>@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)
  </code></pre>
  
  <p>When logging in from the website, the <code>social_auth_usersocialauth</code> table contains:</p>
  
  <pre><code>id | provider      | uid       | extra_data
  ==========================================
  10 | google-oauth2 | &lt;myemail&gt; | {"token_type": "Bearer", "access_token": "&lt;token&gt;", "expires": 3600}
  </code></pre>
  
  <p>However, when logging in from the application using the above function, the operation completes ok, but the entry in the table looks like this:</p>
  
  <pre><code>id | provider      | uid     | extra_data
  =========================================
  10 | google-oauth2 | &lt;empty&gt; | {"access_token": "", "expires": null}
  </code></pre>
  
  <p>Also, the <code>auth_user</code> table contains a <code>username</code> like <code>eeed494412obfuscated48bc47dd9b</code> instead of the Google Plus username and the <code>email</code> field is empty.</p>
  
  <p><strong>What am I doing wrong and how can I obtain the same functionality as I get on the website?</strong></p>
  
  <p>I would like to mention that I have implemented Facebook and Twitter authentication from the Android application, which call the above-mentioned function and store the correct details, only Google Plus is causing problems.</p>