2011-10-11 17 views
9

Estoy usando el Facebook android sdk con mi aplicación de Android. Todo salió bien con mi aplicación mientras desarrollaba mi versión dev. Cuando por fin el momento de publicar mi aplicación para el público, el facebook authenication escupe un error feo cuando la gente trata de autenticar mi aplicación:Facebook Android sdk throwing falta redirigir uri en Authetication

API Error code: 100 
API Error description: Invalid parameter 
Error Message: Requires valid redirect URI 

parece que Facebook piensa que estoy haciendo un navegador redirigir a ellos y la falta de un URI de redireccionamiento para volver a mi aplicación, pero estoy usando el SDK de Android en el que usted no envía un URI de redirección, tiene un oyente de devolución de llamada:

facebook.authorize(this, new String[] { "email", "publish_stream" }, new FBLoginDialogListener()); 

Como ya he dicho todo esto funcionó bien durante el desarrollo y sólo mostró después de lanzar mi versión de prueba, así que he comprobado tanto la configuración de la aplicación de desarrollo y la configuración de la aplicación prod en fb, y ambos son idénticos.

¿Alguien más ha visto este problema?

ACTUALIZACIÓN: Parece que solo recibo este error cuando un usuario acepta permitir el inicio de sesión en mi aplicación, pero luego no acepta mis permisos. hmmmmm Tal vez no estoy manejando alguna situación, pero el error aún no tiene sentido para mí.

+0

¿Has ingresado correctamente tu hash de Android? Es un mensaje de error pobre, estoy de acuerdo, pero parece que podría estar relacionado con su configuración. Si me envía su ID de aplicación, puedo investigar. –

+0

el Hash es correcto, porque arroja antes de este mensaje si el hash es incorrecto. Puedo superar este error cuando acepto el permiso, pero si no lo dejo (lo que hice por accidente), entonces me impidió permitirlo en el futuro. Pude solucionar esto al eliminar la aplicación de mi configuración de Facebook, pero odiaría que un usuario se quede atascado en este estado. – MattoTodd

+0

Tengo el mismo problema con el SDK de iPhone. Este problema comenzó solo 3 días antes. No sé cómo resolverlo. –

Respuesta

8

He resuelto este problema mediante la desactivación del diálogo de autenticación mejorada en la configuración avanzada de la aplicación en https://developers.facebook.com/apps

Saludos

+0

Gracias ... Esto funcionó para mí ... –

1

No he trabajado tanto en Facebook, pero creo que malinterpretas Redirect URL. En la clase de Facebook no es un parámetro REDIRECT_URI para redirigir el usuario si el éxito No te va a redirigir al navegador pero se llama Facebook proveedor de SDK

Ver esta línea

public static final String REDIRECT_URI = "fbconnect://success"; 

Comprobar para esta línea en su aplicación . Creo que hay algún proveedor de contenido en la API de Facebook como fbconnect para que llame internamente a ese proveedor. Me equivoco.

Gracias.

+1

y no quiero que me redirija a un navegador. como dije, esto funcionaba bien con mi versión de desarrollo, tan pronto como firmé mi aplicación y la apunté a mi aplicación, esta explotó. – MattoTodd

0

Tuve el mismo problema. Mi aplicación funciona perfectamente ayer y cuando traté de ejecutarla hoy, mostró exactamente el mismo mensaje. Lo que intenté es reinstalar la aplicación y reiniciar mi teléfono, pero ninguno funcionó. Luego desinstalé Facebook para Android (no la aplicación que desarrollé), y funcionó perfectamente. No tienes idea sobre el motivo Tal vez intente desinstalar Facebook para Android en su teléfono y ver si funciona?

1

Estoy teniendo ese problema también: cuando trato de pedir nuevos permisos extendidos, Facebook muestra el mismo mensaje de error para mí. Creo que tengo una solución alternativa: intente solicitar en una solicitud un nuevo permiso de "permisos de usuario y amigo" (es decir, "user_status") y un nuevo permiso de la sección "permisos extendidos" (es decir, "read_stream"). Permisos enumerados en http://developers.facebook.com/docs/reference/api/permissions/ Espero que también te ayude.

0

Exactamente el mismo problema aquí ... estado persiguiendo durante horas ...

Gracias a los consejos anteriores que he dado un paso adelante.

He escrito una aplicación que actualiza el estado de los usuarios. Con el nuevo diseño de Facebook, esto es lo mismo que publicar en la pared de los usuarios.

Parece que necesito tener ambos permisos para hacer esto: {"user_status", "publish_stream"}. Supongo que user_status me da acceso al objeto de estado y publish_stream (que es un permiso "extendido") me da acceso de escritura.

Algunas cosas para tener en cuenta cuando experimentas con los permisos que he encontrado son las siguientes. Si cambia los permisos de su aplicación, le aconsejo que haga lo siguiente: : vaya a su cuenta de Facebook con un navegador web en su computadora. Ve la flecha al lado de Inicio en la parte superior, elige la configuración de la cuenta y luego selecciona Aplicaciones a la izquierda. Eliminar su aplicación desde aquí. -En su dispositivo Android (o emulador) Vaya a Configuración -> Aplicaciones -> Administrar. Luego desinstala tu aplicación. Después de eso, desde el mismo menú, presione Salir de la aplicación de Facebook.

Después de haber completado estos pasos, debe tener una hoja limpia con respecto a volver a implementar su aplicación con diferentes permisos. Este es el hecho de que la aplicación de Facebook está almacenando en caché algo, y los permisos ya están grabados en su cuenta de Facebook que está causando este problema. Sin embargo, puede haber una solución más ordenada que pueda implementar en el código, de modo que si cambia los permisos de su aplicación entre las versiones, se recupere correctamente.

Mi aplicación está haciendo actualizaciones de estado =)

0

He resuelto el problema marcando Navegador integrado OAuth Login "y ingresando el URL que mi aplicación adobe air usa para el navegador embebido Autenticación FB

Facebook Advanced Settings

Cuestiones relacionadas