2012-02-28 12 views
10

De acuerdo con Facebook documentation, la aplicación es responsable de eliminar solicitudes una vez que los usuarios las hayan aceptado. According to Facebook la aplicación necesita combinar el ID de solicitud con el ID de usuario para eliminar la solicitud. Sin embargo, si el usuario aún no ha autenticado la aplicación, no es posible obtener su ID de usuario.Supresión de solicitudes 2.0 para usuarios no autenticados

¿Cómo se debe abordar este problema?

+1

Si el usuario no autorizó la aplicación, entonces eliminará la solicitud por sí mismo, por lo que no es necesario hacer nada. –

+1

¡Gracias! ¿Hay alguna fuente formal o documentación que indique eso? –

+1

Otra cosa que puede intentar es obtener el ID de solicitud de la cadena de consulta (se pasa cuando el usuario hace clic en aceptar) y manipularlo utilizando un TOKEN DE ACCESO A LA APLICACIÓN. –

Respuesta

1

Los estados de documentación de Facebook:

Cuando un usuario se dirige a la aplicación haciendo clic en aceptar una solicitud debe eliminar la solicitud después de que haya sido aceptado ... lo tanto, es el desarrollador de responsabilidad a ellos claro una vez que hayan sido aceptadas

Aviso la parte 'después de que haya sido aceptado' - esto significa que es su responsabilidad t o elimine la solicitud SOLAMENTE si ha sido aceptada.

+1

El hecho de que el usuario haya aceptado la solicitud no significa que haya iniciado sesión y que pueda recuperar su identificación de usuario. Ese es exactamente mi problema. –

+1

La forma en que lo veo si un usuario hace clic en una solicitud pero luego no permite el acceso a la aplicación equivale a no aceptar la solicitud. Piense en lo que haría si acepta una solicitud pero luego abandona la aplicación sin conectarse porque no desea dar su información: ¿podría ir y eliminar la molesta solicitud usted mismo o no? –

+2

La solicitud se elimina de la lista del usuario una vez que hacen clic en aceptar o rechazar. Pero Facebook ordena a los desarrolladores que eliminen la solicitud mediante la API de gráficos una vez que fue aceptada. En nuestra aplicación, por ejemplo, no se solicita inmediatamente a los usuarios que inicien sesión. Llegan a nuestro sitio web y pueden iniciar sesión o no. Entonces, la pregunta es: ¿cómo debería ser el caso en el que un usuario acepta una solicitud pero no está conectado? –

1

Según la documentación, es su responsabilidad eliminarlos.

Los documentos dicen que puede usar el token de acceso a la aplicación o un token de acceso de usuario. Entonces, si el usuario está conectado, simplemente use su token de acceso de usuario. Si el usuario no está conectado, use el token de acceso a la aplicación.

DELETE https://graph.facebook.com/[<REQUEST_OBJECT_ID>_<USER_ID>]? 
     access_token=[USER or APP ACCESS TOKEN] 
+2

Gracias por su respuesta. Si el usuario no ha iniciado sesión, ¿cómo puedo saber la parte del código anterior? –

+1

En algún momento aceptaron/autenticaron su solicitud, de lo contrario, ¿por qué eliminar la solicitud? Cuando autentiquen su aplicación, recopile su identificación de usuario y almacénela junto con el ID de solicitud en su base de datos (que es parte de su responsabilidad de usar solicitudes de aplicaciones). Por lo tanto, cuando el código se arregla para eliminar la solicitud (tal vez un trabajo por lotes que haya configurado para ejecutarse en momentos específicos del día), tiene tanto el ID de la solicitud como la ID de usuario. – DMCS

+1

Si, como usuario de Facebook, recibo y acepto una solicitud, espero que la solicitud se elimine aunque nunca haya autenticado la aplicación lanzada. Si no autorizo ​​la aplicación, ¿cómo eliminaré esa solicitud? ¿Estoy atrapado con eso para siempre? Esto parece una experiencia de usuario terrible. –

Cuestiones relacionadas