2016-08-11 8 views
2

を取得しますコマンドrequestIdTokenは、私はこれらの命令を使用して、私のアプリにGoogleの記号を追加しようとしているnullポインタ例外

mSignInOpt = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
        .requestIdToken(getString(R.string.default_web_client_id)) 
        .build(); 

私はrequestIdToken(せずにこのコマンドを使用します)、それは完全に働いていると私はonActivityResultコールバックで、ユーザーの名前、電子メールなどを取得していますが、トークンはnullです。私もその新しい変更グーグル-services.jsonをダウンロードし、それをコピーし

OAuth 2.0 client IDs in my web console

は、私は自分のWebコンソールで両方のOAuth 2.0クライアントIDは、私は私のアプリで使用したものと一致していることを確認しましたプロジェクトの "モバイル"フォルダに移動します。

google-services.json I downloaded from firebase console

私は、以下のリンク内のすべての答えを試みたが、何も私の問題を解決していません。

助けてください!

リンク:

  1. Google Sign-In requestIdToken returns null
  2. New Google sign in Android
  3. Error 12501 authenticating with google sign-in

答えて

2

私はそれを理解しました。

mSignInOpt = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
        .requestIdToken(getString(R.string.default_web_client_id)) 
        .build(); 

はmSignInOptがその活性のためにグローバルな部材であり、アクティビティが作成されたとき、それが設定されている意味、外部OnCreate()方法のありました。

何らかの理由で.requestIdToken(getString(R.string.default_web_client_id))を呼び出すことはできません(requestIdToken()は必要ありません)。

エラーを修正するために、私はこれらの数行をOnCreate()の方法 に移動しました。

0

は申し訳ありませんが、私はコメントのために十分な担当者を持っていないが、あなたは

mSignInOpt = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
       .requestIdToken(getString(R.string.default_web_client_id)) 
       .requestEmail() 
       .build(); 
ような何かを行うことができます0

これは有効な応答ですか?それとも全く動かないのですか?

私は詳細についてはthisをご覧ください。

+0

を私はそれを試してみました。 .requestIdToken(getString(R.string.default_web_client_id))で同じ例外が発生する – MiSo

0

あなたはbuild.gradle でこの行がありませんが、プラグインを適用する:「com.google.gms.google-サービスの

関連する問題