title: Android Google Auth Sign In get Id token handleSignInResult:false
body: <p>I am setting GoogleSignInOptions and Google Api Client like this</p>
  
  <pre><code>    GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
              .requestIdToken(getString(R.string.server_client_ID))
              .build();
  
      mGoogleApiClient = new GoogleApiClient.Builder(this)
              .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
              .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
              .addApi(Plus.API)
              .build();
  </code></pre>
  
  <p>and my google web app client id like this:</p>
  
  <pre><code> 1020847812450-xxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com
  </code></pre>
  
  <p>but always at onActivityResult</p>
  
  <pre><code>    if (requestCode == RC_SIGN_IN) {
          GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
          handleSignInResult(result);
      }
  </code></pre>
  
  <p>is returning false</p>
  
  <p>where am i doing wrong here :S</p>
  
  <p>onStart Section</p>
  
  <pre><code>    mGoogleApiClient.connect();
      OptionalPendingResult&lt;GoogleSignInResult&gt; opr = Auth.GoogleSignInApi.silentSignIn(mGoogleApiClient);
      if (opr.isDone()) {
          // If the user's cached credentials are valid, the OptionalPendingResult will be "done"
          // and the GoogleSignInResult will be available instantly.
          Log.d(TAG, "Got cached sign-in");
          // GoogleSignInResult result = opr.get();
          // handleSignInResult(result);
      } else {
          // If the user has not previously signed in on this device or the sign-in has expired,
          // this asynchronous branch will attempt to sign in the user silently.  Cross-device
          // single sign-on will occur in this branch.
  
          opr.setResultCallback(new ResultCallback&lt;GoogleSignInResult&gt;() {
              @Override
              public void onResult(GoogleSignInResult googleSignInResult) {
  
                  handleSignInResult(googleSignInResult);
              }
          });
      }
  </code></pre>
  
  <p>onStop section</p>
  
  <pre><code>protected void onStop() {
      super.onStop();
      if (mGoogleApiClient.isConnected()) {
          mGoogleApiClient.disconnect();
      }
  }
  </code></pre>
  
  <p>onHandleSignInResult</p>
  
  <pre><code>private void handleSignInResult(GoogleSignInResult result) {
      Log.e(TAG, "handleSignInResult:" + result.isSuccess());
      if (result.isSuccess()) {
          // Signed in successfully, show authenticated UI.
          final GoogleSignInAccount acct = result.getSignInAccount();
          Log.e(TAG, acct.getDisplayName());
  
      }
  }
  </code></pre>