이 문제에 대한 연구를 수행했습니다 ...이 주제에 대한 다른 모든 게시물에서 나는 여전히 고생하고 있습니다.GoogleSignInResult 결과. isSuccess()는 항상 false를 반환합니다.
내 앱 버전이 디버그 버전으로 등록되어 있습니다. APK을 만들 필요가 없습니다.
나는 내가 웹 응용 프로그램에서 클라이언트 ID을 사용하지 프로젝트의 안드로이드 버전에서 확인 만들었습니다.
Google 애플리케이션에서 내 앱을 설정할 때 SHA-1을 사용했습니다.
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();
코드의 섹션 내
에서 onCreate 방법에 갔다.
다음은 내 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);
}
마지막 부분은 결과 핸들러 내 구글 표지판입니다.
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