113 votes

Erreur : Statut{statusCode=DEVELOPER_ERROR, résolution=null}

J'utilise l'ouverture de session gplus et j'obtiens cette erreur au moment où je suis dans 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();
        }
    }
}

Et je demande la connexion à gplus en cliquant sur le bouton. En cliquant sur le bouton, le code suivant est exécuté....

 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);

Et je reçois cette erreur...

Status{statusCode=DEVELOPER_ERROR, resolution=null}

sur cette ligne....

GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);

Veuillez suggérer la solution.

1 votes

L'application est mal configurée. Vérifiez la configuration de l'API de Google.

7 votes

Oui, mais je n'arrive pas à trouver ce qui ne va pas.

1 votes

Je n'utilise pas Firebase. Voir ma solution ici : stackoverflow.com/a/46828895/1160216

229voto

sany Points 1454

Vous devez ajouter votre clé SHA1 à la configuration de la console firebase. Vous pouvez le faire de cette façon :

Console Firebase ( https://console.firebase.google.com ) -> votre projet -> configuration -> faire défiler jusqu'à

enter image description here

Vous pouvez trouver votre clé SHA1 en exécutant "Signing report" depuis Android Studio :

enter image description here

Ensuite, regardez l'onglet "Exécuter" et cliquez sur le bouton :

enter image description here

Je pense que c'est le moyen le plus facile. J'espère que cela vous aidera.

1 votes

Voici le moyen le plus simple d'obtenir la version SHA-1 de la console de développement de Google : stackoverflow.com/a/50124038/4923891

0 votes

J'ai eu du mal à comprendre où mettre cette clé SHA dans la console Firebase. J'ai finalement trouvé. Ouvrez les paramètres du projet > Faites défiler vers le bas, ajouter l'empreinte digitale, mettez votre clé SHA là > Téléchargez le nouveau google-services.json et placez-le dans Android-app \app

1 votes

Note ! Même si la console firebase a un espace pour le hash de la clé SHA-256, vous DEVEZ entrer la clé SHA-1. La clé SHA-256 vous donnera toujours des erreurs.

32voto

Mario Points 251

Probablement que vous avez créé le fichier de configuration en utilisant le SHA1 de votre production utilisez l'option androiddebugkey pour rassembler le SHA1 correspondant à la version de débogage de votre application et copier le fichier de configuration dans le répertoire 'app', vous devriez avoir les deux fichiers de configuration (un pour le débogage et un autre pour l'environnement de production).

Basé sur le guide publié dans https://developers.google.com/identity/sign-in/Android/start

6 votes

Mon erreur a été corrigée lorsque j'ai utilisé les informations d'identification du client Web au lieu du client Android pour les identifiants du client OAuth 2.0. La formulation reste confuse car je développe une application Android qui communique avec un serveur web... mais l'erreur a au moins disparu.

14voto

4127157 Points 1083

enter image description here

La façon dont je l'ai résolu était de prendre la touche correspondant au texte mis en évidence. En raison de l'utilisation confuse du mot "serveur" dans la page de documentation de Firebase, je relevais la touche Server key . Ce qui était la raison du problème.

Vous pouvez trouver la clé aquí .

0 votes

Merci ! Cela a fonctionné dans mon cas. Je pense que c'est lié à l'utilisation d'un serveur backend propre (et à l'appel de "requestServerAuthCode" dans GoogleSignIn).

12voto

Udit Kapahi Points 146

J'ai eu le même problème et je l'ai fait fonctionner en suivant ces étapes :

Ajoutez l'empreinte SHA1 de DEBUG_KEYSTORE au projet firebase. utilisez la commande suivante (MAC/LINUX)

  keytool -exportcert -list -v \-alias androiddebugkey -keystore ~/.android/debug.keystore  

2.maintenant, générez un apk signé de votre projet. Le processus inclut la génération d'un keystore pour la version release de votre application.

  Copy the path of the newly generated .jks file.

3) Maintenant, générez l'empreinte SHA1 de RELEASE_KEYSTORE en utilisant la commande suivante

  keytool -list -v -keystore FULL_PATH_TOJKS_FILE -alias ALIAS_NAME

Copiez le nouveau SHA1 de la sortie et ajoutez-le comme une autre empreinte SHA1 dans votre console d'application firebase.

Maintenant, vous êtes prêt à partir ! ----. J'espère que cela vous aidera.

0 votes

Qui a libéré sha1 seulement je place alors aussi obtenir cette erreur, générer google_services.xml pour google sign in, analytics et gcm, un seul fichier

0 votes

Assurez-vous que votre sha1 est de la version 'release' de l'application et non de la version 'debug'.

0 votes

Ha Oui, j'ai généré un apk signé et publié dans l'appstore aussi, que les mots de passe jks et keystore seulement j'utilise.

5voto

Renegade Points 123

J'avais le même problème, la façon dont je l'ai résolu est que j'avais un applicationId différent dans mon fichier gradle que le nom du paquet dans mon fichier manifest. Et j'ai utilisé l'applicationId pour créer le fichier json. J'ai dû changer le nom de mon paquet pour celui de mon applicationId et cela a réglé le problème pour moi.

1 votes

J'ai toujours pensé que le paquet dans le manifeste était remplacé par l'ApplicationId défini dans gradle. Ce n'est pas le cas ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X