Ich bin usign gplus, melde mich an und erhalte diesen Fehler, wenn ich in onActivityResult bin ....
@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();
}
}
}
Und ich rufe nach gplus Login auf Knopfdruck. Beim Klicken auf die Schaltfläche wird folgender Code ausgeführt ....
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);
Und ich bekomme diesen Fehler ...
Status{statusCode=DEVELOPER_ERROR, resolution=null}
auf dieser Linie ....
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
Bitte schlagen Sie die Lösung vor.
android
google-plus
Gurvinder Singh
quelle
quelle
Antworten:
Sie müssen Ihren SHA1-Schlüssel zur Konfiguration der Firebase-Konsole hinzufügen. Sie können dies folgendermaßen tun:
Firebase-Konsole ( https://console.firebase.google.com ) -> Ihr Projekt -> Konfiguration -> Scrollen Sie zu
Sie finden Ihren SHA1-Schlüssel mit "Signierbericht" in Android Studio:
Schauen Sie dann auf die Registerkarte "Ausführen" und klicken Sie auf die Schaltfläche:
Ich denke, es ist der einfachere Weg. Ich hoffe das hilft.
quelle
Wahrscheinlich haben Sie die Konfigurationsdatei mit dem SHA1 Ihres Produktionstokens erstellt , den
androiddebugkey
Alias verwendet, um den SHA1 zu sammeln, der der Debug-Version Ihrer App entspricht, und die Konfigurationsdatei in das Verzeichnis 'app' kopiert. Sie sollten beide Konfigurationsdateien haben (eine für Debug-Zwecke und eine andere für die Produktionsumgebung).Basierend auf der in https://developers.google.com/identity/sign-in/android/start veröffentlichten exemplarischen Vorgehensweise
quelle
Ich hatte das gleiche Problem und habe es durch die folgenden Schritte zum Laufen gebracht:
1. Fügen Sie dem Firebase-Projekt den Fingerabdruck DEBUG_KEYSTORE SHA1 hinzu. Verwenden Sie den folgenden Befehl (MAC / LINUX)
2.Nun Generieren Sie eine signierte Apk Ihres Projekts. Der Prozess umfasst das Generieren eines Keystores für die Release-Version Ihrer App.
3. Generieren Sie jetzt den Fingerabdruck RELEASE_KEYSTORE SHA1 mit dem folgenden Befehl
4.Kopieren Sie den neuen SHA1 aus der Ausgabe und fügen Sie ihn als weiteren SHA1-Fingerabdruck in Ihre Firebase-Anwendungskonsole ein.
Jetzt können Sie loslegen! ---- Hoffnung! es hilft.
quelle
keytool
erfordert ein Passwort : "android"Ich habe es behoben, indem ich den Schlüssel für den hervorgehobenen Text aufgehoben habe. Aufgrund der verwirrenden Verwendung des Wortes "Server" auf der Firebase-Dokumentationsseite habe ich das aufgegriffen
Server key
. Welches war der Grund für das Problem.Den Schlüssel finden Sie hier .
quelle
Ich hatte das gleiche Problem. Wie ich es gelöst habe, war, dass ich in meiner Gradle-Datei eine andere Anwendungs-ID hatte als der Paketname in meiner Manifest-Datei. Und ich habe applicationId verwendet, um die JSON-Datei zu erstellen. Ich musste meinen Paketnamen in meine Anwendungs-ID ändern und das hat es für mich behoben.
quelle
Alternativ zu den hier bereitgestellten Antworten können Sie den Firebase-Assistenten von Android Studio verwenden, um Ihren SHA-1 mit einem Klick auf einige Schaltflächen automatisch zu Ihrem Projekt hinzuzufügen.
Gehen Sie in Android Studio zu
Tools > Firebase > Select 'Authentication'
und klicken Sie auf den Link mit der Aufschrift'Email and password authentication'
.Dies bringt Ihnen ein kleines Tutorial, wie Sie die Authentifizierung in Ihr Projekt integrieren können. Da Sie dies wahrscheinlich alles getan haben, klicken
'Connect to Firebase'
Sie einfach und Sie sind fertig.quelle
Es ist eine alte Frage, aber ich bin in letzter Zeit mit Fehler 10 (DEVELOPER_ERROR) festgefahren, weil ich die Android-Client-ID verwendet habe, die ich in der Google-Entwicklerkonsole erstellt habe.
Die Lösung für mich bestand darin, die Android-Anmeldeinformationen in der Google-Entwicklerkonsole nur zu verwenden, um den SHA-Schlüssel meiner apk anzugeben, und die Client-ID der (!) Anmeldeinformationen der Webanwendung von der Google-Entwicklerkonsole in meiner Cordova-Anwendung zu verwenden.
config.xml:
Code:
Ich benutze keine Feuerbasis.
quelle
client id
löste das Problem DEVELOPER_ERROR. Obwohl es für mich keinen Sinn macht und es nicht offensichtlich ist, dass eine andere Client-ID verwendet werden sollte.Möglicherweise haben Sie einen falschen SHA1-Schlüssel generiert und hinzugefügt. Führen Sie die folgenden Schritte aus, um den SHA1-Schlüssel in Android Studio zu generieren:
Fügen Sie nun diesen SHA1-Schlüssel in Ihr Firebase-Android-Projekt ein.
quelle
Bitte legen Sie die richtige JSON-Datei im Stammverzeichnis des Android-Projekts ab
. Weitere Informationen finden Sie hier: https://coderzpassion.com/android-working-latest-google-plus-login-api/
quelle
Für mich funktionierte es, als ich es zum ersten Mal implementierte, hörte aber nach einigen Tagen der Entwicklung mit der genannten Fehlermeldung auf.
Ich habe das Problem mit den folgenden Schritten gelöst:
und es hat funktioniert
quelle
Ich bin auf diesen Fehler in meiner Firebase-App gestoßen. Es wurde behoben, als ich den
requestIdToken(activity.getString(R.string.default_web_client_id))
Teil unten hinzufügte .quelle
Ich habe diesen Fehler erhalten, als ich meine JSON-Konfigurationsdatei mit einem neuen Google-Konto aktualisiert habe.
Das manuelle Deinstallieren der Anwendung und das erneute Installieren der App hat bei mir funktioniert.
quelle
Der Fehler wird verursacht, weil die SHA-1-Prüfsumme des Debug- oder Release-Schlüssels nicht in der Firebase- / Google-Konsole enthalten ist.
Generieren Sie zuerst den Schlüssel mit dem folgenden Befehl:
Kopieren Sie dann die SHA-1-Prüfsumme und gehen Sie zu:
quelle
Für alle, die eine App veröffentlichen, benötigen Sie einen speziellen Fingerabdruck aus Ihrer Keystore-Datei. Kein Wunder, dass ich diesen Fehler nur für die Release-Version bekam. Wie erhalte ich den Fingerabdruck des Signaturzertifikats (SHA1) für OAuth 2.0 unter Android?
quelle
Stellen Sie sicher, dass Sie die Google-Anmeldung unter Authentifizierung in der Firebase-Konsole aktivieren.
quelle
Ich habe mein Problem gelöst, indem ich in dieser Zeile die richtige server_client_id verwendet habe:
Ich habe den falschen Code verwendet.
quelle
Bei einigen Diensten wie der Google-Anmeldung muss der SHA1-Fingerabdruck zu Ihrer Firebase-Konsole hinzugefügt werden.
Ich habe das Hinzufügen eines SHA-Fingerabdrucks in der Firebase-Konsole verpasst. Gehen Sie dazu zu FireBase Console> Projekteinstellung> Option Fingerabdruck hinzufügen.
Sie können SHA1-Fingerabdrücke auf sehr einfache Weise generieren: https://www.youtube.com/watch?v=FczARQ244GE
Danach habe ich noch einen Fehler gemacht
Nach der Generierung des SHA1-Schlüssels aus der obigen Methode. Ich habe den falschen ungültigen SHA1-Schlüssel kopiert, der abgelaufen ist. Stellen Sie daher sicher, dass der SHA1-Schlüssel, den Sie von der obigen Ausgabe kopieren, gültig ist (überprüfen Sie auch den gültigen Wert bis zum SHA1-Schlüssel).
Stellen Sie außerdem sicher, dass der Paketname (xyz), den Sie in firebase hinzugefügt haben, mit dem in Ihrem Android-Code verwendeten übereinstimmt.
Stellen Sie außerdem sicher, dass Sie die richtige AppID verwenden
quelle
Nach langer Untersuchung habe ich eine Lösung gefunden. Tatsächlich
Error: Status{statusCode=DEVELOPER_ERROR, resolution=null}
deutet dieser Fehler auf einen falschen SHA-1 ODER einen falschen Paketnamen ODER etwas anderes hin. In meinem Fall füge ichdebug
am Ende meines Paketnamens ein Schlüsselwort hinzucom.sample.app
=>com.sample.app.debug
quelle