web-dev-qa-db-fra.com

Erreur: Status {statusCode = DEVELOPER_ERROR, resolution = null}

Je suis usign gplus, connectez-vous et obtenez cette erreur au moment où je suis sur 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 vous appelle pour vous connecter sur gplus en cliquant sur le bouton. Sur le bouton suivant, 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);

S'il vous plaît suggérer la solution.

83
Gurvinder Singh

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 -> défilez jusqu'à

enter image description here

Vous pouvez trouver votre clé SHA1 exécutant le "rapport de connexion" à partir de Android Studio:

enter image description here

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

enter image description here

Je pense que c'est le moyen le plus facile. J'espère que cette aide.

174
SolArabehety

Vous avez probablement créé le fichier de configuration à l'aide du SHA1 de votre jeton de production , utilisez l'alias androiddebugkey pour rassembler le SHA1 correspondant à la version de débogage de votre application et copiez le fichier de configuration dans le répertoire 'app', vous devez disposer des deux fichiers de configuration (un pour les besoins du débogage et un pour l’environnement de production).

Basé sur la procédure pas à pas publiée dans https://developers.google.com/identity/sign-in/Android/start

28
Mario

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

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

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

2.Now Générez un apk signé de votre projet. Le processus comprend la création d'un magasin de clés pour la version de votre application.

  Copy the path of the newly generated .jks file.

3.Maintenant, générer l'empreinte RELEASE_KEYSTORE SHA1 à l'aide de la commande suivante

  keytool -list -v -keystore FULL_PATH_TOJKS_FILE -alias ALIAS_NAME

4.Copiez le nouveau SHA1 à partir de la sortie et ajoutez-le sous une autre empreinte SHA1 dans la console de votre application Firebase.

Maintenant vous êtes prêt à partir! ---- Espérer! ça aide.

10
Udit Kapahi

enter image description here

J'ai corrigé le problème en prenant la clé correspondant au texte en surbrillance. En raison de la confusion du mot "serveur" dans la page de documentation de Firebase, je prenais le Server key. Quelle était la raison du problème.

Vous pouvez trouver la clé ici .

8
4127157

J'avais le même problème, comment je l'ai résolu, c'est que j'avais dans mon fichier Gradle un ID application différent de celui du nom du paquet dans mon fichier manifeste. Et j'ai l'habitude à applicationId de créer le fichier json. J'ai dû changer le nom de mon paquet en ce que mon applicationID était et cela l'a corrigé pour moi.

5
Renegade

Vous pouvez également utiliser Android Firebase Assistant de Studio pour ajouter automatiquement votre SHA-1 à votre projet en cliquant sur certains boutons.

Dans Android Studio, accédez à Tools > Firebase > Select 'Authentication' et cliquez sur le lien "'Email and password authentication'".

Cela vous apportera un petit tutoriel sur la façon d'intégrer l'authentification à votre projet, mais comme vous avez probablement déjà fait tout cela, cliquez simplement sur 'Connect to Firebase' et vous avez terminé.

3
Renan Aguiar

Veuillez placer le fichier JSON correct à la racine du projet Android
Pour plus, voir ici: http://coderzpassion.com/Android-working-latest-google-plus-login-api/

3
Jagjit Singh

C'est une vieille question, mais l'erreur 10 (DEVELOPER_ERROR) est récente, car j'utilisais l'ID client Android que j'ai créé dans la console de développement de Google.

La solution pour moi consistait à utiliser les informations d'identification Android dans la console de développement Google uniquement pour indiquer la clé SHA de mon apk et à utiliser l'identifiant client de l'application Web (!) À partir de la console de développeur google dans mon application cordova.

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>

code:

window.plugins.googleplus.login(
    {
       'webClientId': '[web-application-client-id].apps.googleusercontent.com'
    }, 
    ...

Je n'utilise pas de base de feu.

2
tobik

Vous avez peut-être généré et ajouté une mauvaise clé SHA1. Utilisez les étapes suivantes pour générer la clé SHA1 dans Android studio:

  1. Cliquez sur Gradle (dans le panneau de droite, vous verrez la barre de niveau)
  2. Cliquez sur Actualiser (Cliquez sur Actualiser dans la barre de niveaux pour afficher la liste des scripts de niveaux de votre projet)
  3. Cliquez sur Votre projet (Liste du formulaire Votre nom de projet (racine))
  4. Cliquez sur tâches
  5. Cliquez sur Android
  6. Double-cliquez sur signatureReport (vous obtiendrez SHA1 et MD5 dans la barre d’exécution (parfois dans Gradle Console))

Ajoutez maintenant cette clé SHA1 à votre projet firebase Android.

2
snj

Pour moi, cela fonctionnait lorsque je l'ai implémenté pour la première fois, mais s'est arrêté après quelques jours de développement, avec le message d'erreur mentionné.

J'ai résolu le problème avec ces étapes:

  1. J'ai ajouté l'empreinte digitale sha-256 sur l'empreinte digitale sha-1 que j'avais déjà dans la console Firebase. (Pas sûr que cette étape soit requise)
  2. J'ai téléchargé le fichier google-services.json à nouveau et remplacé l'ancien fichier.
  3. ré-installé l'application

et cela a fonctionné

1
Mantoska

Pour quiconque lançant une application, vous avez besoin d'une empreinte digitale spéciale de votre fichier de clés. Pas étonnant que je reçois cette erreur uniquement pour la version finale. Comment obtenir une empreinte de certificat de signature (SHA1) pour OAuth 2.0 sur Android?

0
Juan Mendez

Assurez-vous d'activer la connexion à Google sous Authentification dans la console Firebase.

0
hellowill89

L'erreur est due au fait que la somme de contrôle SHA-1 de la clé de débogage ou de libération n'est pas incluse dans la console firebase/google.

Commencez par générer la clé à l'aide de la commande suivante:

keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME

Ensuite, copiez la somme de contrôle SHA-1 et allez à:

Console Firebase> Votre projet> Paramètres de l'application> Ajouter une empreinte digitale

0
Nabin Bhandari

J'ai eu cette erreur quand j'ai mis à jour mon fichier de configuration json avec un nouveau compte google.

Désinstaller l'application manuellement et la réinstaller a fonctionné pour moi.

0
sanath_p

Je suis tombé sur cette erreur dans mon application firebase. Il a été corrigé lorsque j'ai ajouté la partierequestIdToken(activity.getString(R.string.default_web_client_id)) ci-dessous.

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail().requestIdToken(activity.getString(R.string.default_web_client_id))
        .build();

    apiClient = new GoogleApiClient.Builder(activity)
        .addConnectionCallbacks(this)
        .enableAutoManage(activity, this)
        .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
        .build();

    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(apiClient);
    activity.startActivityForResult(signInIntent, RC_GOOGLE_SIGN_IN);
0
Dan Brough