java - query - server_error:[code] 1675030[message]: error al realizar la consulta.[extra]: null
SERVER_ERROR:[código] 1675030[mensaje]: error al realizar la consulta (13)
Estoy usando el inicio de sesión de Facebook en Android.
Código:
callbackManager = CallbackManager.Factory.create();
LoginButton loginButton = (LoginButton) this.findViewById(R.id.login_button);
loginButton.setReadPermissions("email", "public_profile");
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// App code
Log.println(Log.ASSERT, "FB", "inicio session ");
}
@Override
public void onCancel() {
Log.println(Log.ASSERT, "FB", "OP NO completada");
// App code
}
@Override
public void onError(FacebookException exception) {
Log.println(Log.ASSERT, "FB", " Errro de sesion ");
exception.printStackTrace();
// App code
}
});
pero siempre obteniendo el siguiente error:
SERVER_ERROR: [código] 1675030 [mensaje]: error al realizar la consulta. [extra]: Errores al ejecutar la operación "ProxyAuthAppLoginQuery": En Query.proxy_auth_app_login: Error al resolver el campo. W / System.err:
en com.facebook.login.LoginManager.onActivityResult (LoginManager.java:190) W / System.err: en com.facebook.login.LoginManager $ 1.onActivityResult (LoginManager.java:159) W / System.err: en com. facebook.internal.CallbackManagerImpl.onActivityResult (CallbackManagerImpl.java:82) W / System.err: en com.procibernetica.moca.MainActivity.onActivityResult (MainActivity.java:130) W / System.err: en android.app.Activity. dispatchActivityResult (Activity.java:5423) W / System.err: at android.app.ActivityThread.deliverResults (ActivityThread.java:3401) W / System.err: at android.app.ActivityThread.handleSendResult (ActivityThread.java:3448) W / System.err: en android.app.ActivityThread.access $ 1300 (ActivityThread.java:138) W / System.err: en android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1284) W / System.err : en android.os.Handler.dispatchMessage (Handler.java:102) W / System.err:
en android.os.Looper.loop (Looper.java:149) W / System.err: en android.app.ActivityThread.main (ActivityThread.java:5061) W / System.err: en java.lang.reflect.Method .invokeNative (Native Method) W / System.err: at java.lang.reflect.Method.invoke (Method.java:515) W / System.err: at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run ( ZygoteInit.java:787) W / System.err: en com.android.internal.os.ZygoteInit.main (ZygoteInit.java:603) W / System.err: en dalvik.system.NativeStart.main (Método nativo)
He agregado los siguientes permisos.
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Registro de problemas: SERVER_ERROR: [código] 1675030 [mensaje]: error al realizar la consulta
Y una
solución precisa
para este problema específico (
error al realizar la consulta
)
es respondido por
@aloha
es actualizando la consulta de acceso.
loginButton.setReadPermissions ("email", "public_profile", "user_friends");
- Encuentre dónde se llamó su botón de inicio de sesión de Facebook.
- Luego configure el ReadPermission para el botón como "email", "public_profile", "user_friends"
imagen de referencia
Registro de problemas: aplicación no configurada. Esta aplicación todavía está en modo de desarrollo. y no tienes acceso a él. registre el usuario de prueba o solicite permiso a un administrador de la aplicación
- La aplicación no está en modo en vivo
-
No figura como administrador o probador en
https://developers.facebook.com/app/yourapp - Su aplicación Hashkey no está configurada. Si la aplicación de Facebook no puede estar en modo en vivo, necesita un hashkey para probarlo. porque la aplicación aún no está en vivo. Facebook no permitirá el acceso.
CÓMO CAMBIAR AL MODO EN VIVO
1. ir a:
https://developers.facebook.com
2. seleccione su aplicación en la lista "
Mis aplicaciones
"
3. alternar el interruptor de OFF a ON
CÓMO AGREGAR COMO PRUEBA O ADMINISTRADOR
1. ir a:
https://developers.facebook.com
2. seleccione su aplicación en la lista "
Mis aplicaciones
"
3. vaya a: Roles> Roles> Presione Agregar, por ejemplo, administrador
4. Busque su nueva cuenta de administrador / tester en Facebook.
5. El administrador debe ingresar la contraseña de Facebook para confirmar. Luego enviar
el nuevo administrador debe ir a la página developer.facebook y aceptar la solicitud
6. vaya a:
https://developers.facebook.com
7. Perfil> Solicitudes> Confirmar
8.
Felicitaciones,
te han asignado como nuevo administrador
CÓMO OBTENER Y ESTABLECER HASHKEY PARA EL DESARROLLO
como Consulte la documentación de inicio de sesión de Facebook
https://developers.facebook.com/docs/android/getting-started/#create_hash
La solución más preferible para mí es por código (
Solución de problemas de aplicaciones de muestra
)
imprimirá la clave hash.
puedes actualizarlo en
https://developers.facebook.com/apps/yourFacebookappID/settings/basic/
en
Android>
sección
Key Hashes
Un proceso paso a paso sobre cómo obtener el hashKey.
-
En primer lugar, agregue el código a cualquier método oncreate
-
Ejecute la aplicación y busque KeyHash en Logcat
proceso paso a paso sobre cómo actualizar en Facebook Developer.
-
Abra la página de desarrollador de Facebook. Necesita acceso para actualizar la página de Desarrollador de Facebook: https://developers.facebook.com
-
Sigue el paso como sigue.
@Danial responde correctamente, pero quiero agregar algo más en eso.
Este tipo de error se produce solo cuando la aplicación está en desarrollo.
Sigue este
link
y selecciona tu aplicación.
Entonces puedes hacer dos cosas aquí.
Desde la pestaña
Roles
, puede permitir el inicio de sesión solo a sus amigos o, de lo contrario, seleccionar la
Revisión de
la
aplicación
y hacer que su
app public
para que cualquiera pueda iniciar sesión.
Acabo de agregar esta línea y funcionó para mí.
facebookLogin.setReadPermissions("email", "public_profile", "user_friends");
Además de las otras respuestas, compruebe también que el correo electrónico de la cuenta utilizada para iniciar sesión esté verificado.
Agregue un recurso de cadena "facebook_application_id" en sus cadenas.xml
reemplace APP_ID con su ID de aplicación de Facebook
<string name="facebook_application_id" translatable="false">APP_ID</string>
En mi caso, el problema fue Key Hash generado incorrectamente, que debe enviar en la página de la aplicación de Facebook.
Comprobar manualmente el hash de clave : puede imprimir el hash de clave enviado a Facebook y usar ese valor en el Panel de aplicaciones. Realice este cambio en onCreate () en su actividad principal:
try
{
PackageInfo info = getPackageManager().getPackageInfo(
"com.facebook.samples.loginhowto",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
En mi caso, la clave hash generada era incorrecta porque estaba usando OpenSSL incorrecto. Estaba usando openssl-0.9.8k_X64.zip en lugar de openssl-0.9.8e_X64.zip y esto me generó una clave hash incorrecta que causó este problema, espero que ayude a alguien que perdí como 8 horas tratando de resolver esto.
Estaba teniendo el problema similar porque Firebase UI estaba especificando el
android:value
Así es como lo resolví:
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme.Base">
<meta-data
android:name="com.facebook.sdk.ApplicationId"
tools:replace="android:value"
android:value="@string/facebook_app_id" />
<acitivity
...
</activity>
...
Este error también se devuelve en otras situaciones, incluso cuando su aplicación es pública o está en la lista de probadores.
Verifique que su
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
se está resolviendo con una ID de aplicación de Facebook correcta, especialmente si la especifica dinámicamente usando la construcción de gradle, en lugar de codificarla en strings.xml.
La documentación en Facebook no es correcta. Tuve que agregar los 3 permisos predeterminados para que funcione.
loginButton.setReadPermissions("email", "public_profile", "user_friends");
Todas las respuestas anteriores no me ayudaron, lo que sí fue cuando usaste este comando
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
para obtener los Key Hashes que pones en las configuraciones de Facebook.
le pedirá una contraseña, al principio no configuré ninguna, por lo que el problema ocurrió cuando ingresé
android
como contraseña.
funcionó !
Modo desarrollador en vivo Compruebe el estado del modo desarrollador. Debe ser "en vivo". En primer lugar, debe agregar una URL de privacidad para el propio proyecto de Facebook que desea probar el inicio de sesión de Facebook o algo ... Luego, habilite el modo de desarrollador (Activar)