[android] 오류 : 상태 {statusCode = DEVELOPER_ERROR, 해결 방법 = null}
나는 gplus 로그인을 사용하고 있으며 onActivityResult에있을 때이 오류가 발생합니다 ….
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
client.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
// Log.d("Result","details"+ acct.getDisplayName() + acct.getEmail());
mEmail = acct.getEmail();
String mFullName = acct.getDisplayName();
String mGoogleplusId = acct.getId();
SocialUser user = new SocialUser();
user.setType("googleplus");
user.setEmail(mEmail);
user.setFullname(mFullName);
user.setId(mGoogleplusId + "");
loginParams.put("email_id", mEmail);
loginParams.put("googlePlusId", mGoogleplusId);
loginParams.put("full_name", mFullName);
loginParams.put("registrationType", "googleplus");
SignUpService(user);
} else {
Toast.makeText(CustomerLogIn.this, "Unable to fetch data, Proceed manually", Toast.LENGTH_SHORT).show();
}
}
}
그리고 버튼 클릭시 gplus 로그인을 요청하고 있습니다. 클릭 버튼에서 다음 코드가 실행됩니다 ….
GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(CustomerLogIn.this)
.addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
.build();
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, 0);
그리고 나는이 오류를 geetng입니다 …
Status{statusCode=DEVELOPER_ERROR, resolution=null}
이 줄에 ….
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
해결책을 제안하십시오.
답변
Firebase 콘솔 구성에 SHA1 키를 추가해야합니다. 다음과 같이 할 수 있습니다.
Firebase 콘솔 ( https://console.firebase.google.com )-> 프로젝트-> 구성-> 스크롤하여
Android 스튜디오에서 ‘Signing report’를 실행하는 SHA1 키를 찾을 수 있습니다.
그런 다음 “실행 탭”을보고 버튼을 클릭하십시오.
더 쉬운 방법이라고 생각합니다. 이 도움을 바랍니다.
답변
아마도 프로덕션 토큰 의 SHA1을 사용하여 구성 파일을 만들었을 것입니다 . androiddebugkey
별칭을 사용 하여 앱의 디버그 버전에 해당하는 SHA1을 수집하고 구성 파일을 ‘app’디렉터리에 복사합니다. 두 구성 파일 (하나는 디버그 목적 및 프로덕션 환경 용).
https://developers.google.com/identity/sign-in/android/start에 게시 된 연습을 기반으로합니다.
답변
나는 같은 문제가 있었고 다음 단계를 수행하여 작동했습니다.
1. Firebase 프로젝트에 DEBUG_KEYSTORE SHA1 지문을 추가합니다. 다음 명령어 (MAC / LINUX) 사용
keytool -exportcert -list -v \-alias androiddebugkey -keystore ~/.android/debug.keystore
2. 이제 프로젝트의 서명 된 APK를 생성합니다. 이 프로세스에는 앱의 릴리스 버전에 대한 키 저장소 생성이 포함됩니다.
Copy the path of the newly generated .jks file.
3. 이제 다음 명령을 사용하여 RELEASE_KEYSTORE SHA1 지문을 생성합니다.
keytool -list -v -keystore FULL_PATH_TOJKS_FILE -alias ALIAS_NAME
4. 출력에서 새 SHA1을 복사하고 Firebase 애플리케이션 콘솔에서 다른 SHA1 지문으로 추가합니다.
이제 갈 수 있습니다! —- 희망! 도움이됩니다.
답변
내가 그것을 고치는 방법은 강조 표시된 텍스트에 해당하는 키를 선택하는 것이 었습니다. Firebase의 문서 페이지에서 ‘서버’라는 단어의 혼란스러운 사용으로 인해 Server key
. 그것이 문제의 원인이었습니다.
여기 에서 키를 찾을 수 있습니다 .
답변
나는 동일한 문제를 겪고 있었는데, 어떻게 해결했는지는 내 매니페스트 파일의 패키지 이름과 내 gradle 파일에 다른 applicationId가 있다는 것입니다. 그리고 json 파일을 만들기 위해 applicationId를 사용했습니다. 내 패키지 이름을 내 applicationId로 변경해야했고 그로 인해 수정되었습니다.
답변
여기에 제공된 답변 대신 Android Studio의 Firebase Assistant를 사용하여 일부 버튼을 클릭하여 SHA-1을 프로젝트에 자동으로 추가 할 수 있습니다.
Android Studio에서로 이동하여 Tools > Firebase > Select 'Authentication'
라고 표시된 링크를 클릭합니다 'Email and password authentication'
.
이렇게하면 인증을 프로젝트에 통합하는 방법에 대한 약간의 자습서가 제공되지만 아마 모든 작업을 완료 했으므로 클릭하기 만하면 'Connect to Firebase'
완료됩니다.
답변
오래된 질문이지만 최근 Android 클라이언트 ID를 사용하고 있었기 때문에 Google 개발자 콘솔에서 만든 오류 10 (DEVELOPER_ERROR)이 발생했습니다.
저에게 해결책은 Google 개발자 콘솔에서 Android 자격 증명을 사용하여 APK의 SHA 키를 표시하고 Cordova 응용 프로그램의 Google 개발자 콘솔에서 웹 응용 프로그램 (!) 자격 증명의 클라이언트 ID를 사용하는 것입니다.
config.xml :
<plugin name="cordova-plugin-googleplus" spec="^5.3.0">
<variable name="REVERSED_CLIENT_ID" value="com.googleusercontent.apps.[web-application-client-id]" />
<variable name="WEB_APPLICATION_CLIENT_ID" value="[web-application-client-id].apps.googleusercontent.com" />
</plugin>
암호:
window.plugins.googleplus.login(
{
'webClientId': '[web-application-client-id].apps.googleusercontent.com'
},
...
나는 firebase를 사용하지 않습니다.