私はこの問題に関する私の研究を行っています...このトピックの他の記事のすべてで、私はまだ固執しています。GoogleSignInResultの結果。 isSuccess()は常にfalseを返します
私のアプリのバージョンはデバッグバージョンとして登録されています.... に署名したAPKを作成する必要はありませんか?
私はウェブアプリからではなく、プロジェクトのアンドロイドのバージョンからクライアントIDを使用していることを確認してきました。
私はGoogleコンソールで自分のアプリを設定するときにSHA-1を使用しました。コードのセクションは、私ののonCreate方法で行ったこと
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestServerAuthCode("/*client_id goes in here*/")
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this
/* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.addApi(AppIndex.API).build();
。
次は私のonActivityResult Handlerに入っています。
GOOGLE_SIGN_IN定数が事前定義されています。
if (requestCode == GOOGLE_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
Toast.makeText(LoginActivity.this, "Google Login Details:" + result.getStatus().toString(), Toast.LENGTH_LONG).show();
handleSignInResult(result);
}
最後の部分は、結果ハンドラの私Googleのサインです。
private void handleSignInResult(GoogleSignInResult result) {
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
Toast.makeText(getApplicationContext(),"Welcome "+acct.getDisplayName(),Toast.LENGTH_SHORT).show();
Intent MainActivity = new Intent(getApplicationContext(), MainActivity.class);
startActivity(MainActivity);
} else {
Toast.makeText(LoginActivity.this, "Login Cancel", Toast.LENGTH_LONG).show();
}
}
GoogleログインAPIを動作させるために使用されるその他のコードはすべて、ドキュメントのコードと同じです。
アクティビティハンドラ内のresult.getStatus()メソッドは、通常の12050エラーを表示しません。これは設定に問題があることを示します。代わりにstatusCode = DEVELOPER、resolution = nullと表示されます。
ご迷惑をおかけして申し訳ございません。
また、私のlogcatで問題が何であるかについてのエラーや兆候はありません.... – SeanMcDonagh