android - developers - Error de inicio de sesión: hay un error al iniciar sesión en esta aplicación. Por favor, inténtelo de nuevo más tarde
facebook login api (7)
Eliminar la aplicación de la configuración del usuario en Facebook (cuenta).
Desinstalar la aplicación.
Obtenga el nuevo hash utilizando el lanzamiento o el nuevo almacén de claves de depuración. Use este comando:
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
Agregue el nuevo hash en el tablero de Facebook.
Estoy recibiendo este error. Cuando trato de iniciar sesión con Facebook en mi aplicación. La autenticación por primera vez funcionará correctamente. Después de haber desinstalado mi aplicación y de intentar iniciar sesión con Facebook, recibo este error.
Otro problema : después de autenticarse en device1 e intentar iniciar sesión con Facebook en device2, también se está produciendo el mismo error.
Solución que encontré: cuando elimino la autenticación de la aplicación de la configuración de la aplicación de Facebook, estoy trabajando en el escenario anterior, pero esta no es una buena solución sobre cómo podemos decirle a los usuarios que realicen esta acción.
btnFbLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(accessToken != null) {
boolean expires = accessToken.isExpired();
if(!expires) {
performFbLoginOrSignUp(accessToken);
}
} else {
LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
callbackManager = CallbackManager.Factory.create();
if (loginButton != null) {
loginButton.setReadPermissions("public_profile", "email", "user_friends");
if (CommonUtil.isConnectingToInternet(LoginActivity.this)) {
loginButton.performClick();
loginButton.setPressed(true);
loginButton.invalidate();
loginButton.registerCallback(callbackManager, mCallBack);
loginButton.setPressed(false);
loginButton.invalidate();
}
}
}
}
});
En el ejemplo de Facebook también tiene un problema: el enlace de GitHub del ejemplo de Facebook
Pasos para reproducirse :
Inicie la aplicación Inicie sesión con Facebook Autentique el perfil de FB.
Desinstalar la aplicación e instalar de nuevo.
Ahora intenta iniciar sesión con Facebook.
- El error anterior ocurrirá. porque ya estamos autenticados, así que necesitamos acceder al perfil fb. pero aquí estamos enfrentando el problema.
- Aquí ya no se muestra la página autenticada.
- Estoy usando la aplicación Native FB con el dispositivo Xiaomi Redmi Note 3
El problema para mí es realmente con la tecla hash, no es válido.
Tenía exactamente el mismo problema y era muy difícil de diagnosticar. La razón es que Facebook no comprueba la clave hash en el primer inicio de sesión y parece que la clave es correcta, pero en realidad no lo es. Segundo, el mensaje de error es simplemente una idiocracia. El tercero es la resolución: prueba el siguiente enlace, me ayudó.
Estaba enfrentando el mismo problema. Tenía mis keyhashes perfectamente definidos, todavía estaba enfrentando el mismo problema. No pude iniciar sesión, ni siquiera por primera vez.
La solución a mi problema fue:
Ve al panel de tu aplicación here
En el panel izquierdo, debajo de la pestaña de productos, asegúrese de tener el inicio de sesión de Facebook agregado. Si no, agrégalo allí.
Si todas sus otras configuraciones están en su lugar. Funciona perfecto después de eso.
Este problema ocurre porque ya has autenticado la aplicación a través de Facebook y tu código puede contener Autenticar cada vez que Facebook (Buscar y eliminar eso).
Sigue estos pasos:
Ve a la configuración de Facebook.
Eliminar tu aplicación
Asegúrese de haber agregado el inicio de sesión de Facebook en la página de desarrollador de Facebook y de haber habilitado el inicio de sesión de Client OAuth.
Vaya a su código y anule el método de devolución de llamada:
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); mFacebookCallbackManager.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { Intent secondActivityIntent = new Intent(this, RedirectActivity.class); startActivity(secondActivityIntent); } }
En el método Oncreate, llame al AccessToken:
accessTokenTracker = new AccessTokenTracker() { @Override protected void onCurrentAccessTokenChanged( AccessToken oldAccessToken, AccessToken currentAccessToken) { // Set the access token using // currentAccessToken when it''s loaded or set. } }; // If the access token is available already assign it. accessToken = AccessToken.getCurrentAccessToken(); if (accessToken != null && !accessToken.isExpired()) { GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() { @Override public void onCompleted(JSONObject object, GraphResponse response) { if(null != object) { try { Intent i = new Intent(MainActivity.this, Feedback.class); startActivity(i); String email = object.getString("email"); String birthday = object.getString("birthday"); } catch (Exception ex) { Toast.makeText(MainActivity.this, ex.toString(), Toast.LENGTH_SHORT).show(); } } else { // call your authentication process } } }); Bundle parameters = new Bundle(); parameters.putString("fields", "id,name,birthday,link"); request.setParameters(parameters); request.executeAsync(); }
También enfrento este problema. Actualice su hash de clave en Facebook
Tuve el mismo problema en mi Redmi Note 3. Probado en Samsung. No hay problemas. Me pregunto si es específico de Redmi.