2011-04-06 21 views
6

Esto podría ser yo haciendo extrapolaciones de la documentación (que dada su organización, no es muy difícil de hacer), pero ¿hizo Facebook algunos cambios importantes en cómo los desarrolladores de aplicaciones crean y utilizan usuarios de prueba?¿Facebook cambió su sistema para cuentas de usuario de prueba?

Según recuerdo (y esto lo hice hace aproximadamente un mes), los desarrolladores solían ser capaces de acceder a una URL desde una cuenta registrada que convertiría a ese usuario en un "usuario de prueba", que no tenía privilegios en el sistema público, pero podría servir como una entidad de prueba para publicar, obtener permisos, etc. Tuve una configuración de usuario de prueba a través de este método y generé tokens de acceso para él/ella que se guardaron en la base de datos.

Recientemente, esto dejó de funcionar. Mi primer instinto fue imprimir las propiedades del objeto de Facebook que había creado, y donde una vez había estado la información de usuario decodificada de JSON, ahora había una excepción del proceso CURL que accedió al punto final/me/api.

Facebook GraphAPI - EntCannotSeeExistenceException no detectada: La entidad (clase EntTestUser) respaldado por id 12345 no puede ser visto por el espectador actual 12345 (EntID: 12345)

Valores obviamente cambiado para proteger a los inocentes. Sin embargo, los ID de usuario eran idénticos, lo que hacía extraño que el usuario que poseía la ID 12345 no tuviera ningún derecho a ver 12345

Miré la documentación de Facebook y encontré su que parece ser su nueva lógica para hacer la aplicación en sí misma cree usuarios de pruebas temporales y genere URL de inicio de sesión para ellos, algo con lo que muchas personas probablemente estén familiarizados.

http://developers.facebook.com/blog/post/429

este sistema ha reemplazado a la antigua? Parece que ya no se permite actuar en nombre de cuentas de usuario de prueba generadas mediante el método anterior, ya que no están hechas "por" la aplicación. Escribí una lógica rápida para probar este nuevo proceso con tokens de acceso fijo y funcionó. También debo mencionar que todas las funciones lógicas de la aplicación funcionan como originalmente, sin errores para cuentas de usuario reales. ¿Alguien más ha experimentado esto con sus aplicaciones API de Facebook? ¿Podemos decir definitivamente que estos antiguos tokens de acceso/userids/cuentas hechos a través de ese viejo método ahora son efectivamente inútiles?

Gracias como siempre.

+4

fb le gusta cambiar la API y no se preocupa por la compatibilidad con versiones anteriores – dogmatic69

+0

@ dogmatic69 ¡Definitivamente parece ser así! Solo estoy tratando de determinar si debo abandonar el viejo sistema que estaba usando y dedicar algo de tiempo para dar cabida a la creación de estos usuarios de prueba a través del nuevo método, ya que todavía estamos desarrollando la aplicación y aún no quiero publicaciones públicas. – DeaconDesperado

+1

Empecé a ver el mismo problema hoy, y todas mis pruebas de unidades de Facebook Connect están fallando ahora. –

Respuesta

3

http://developers.facebook.com/blog/post/475

odio tener forma y responder a mi propia pregunta, pero a partir de los comentarios suficientes personas parecen tener este problema.

de excavación a través de las actualizaciones de desarrolladores hoy por fin he encontrado el post anterior (con soluciones ya escritos, por supuesto) Citado:

Hemos eliminado la capacidad de convertir cuentas de usuario en las cuentas de prueba como mencionado aquí para evitar conversiones involuntarias de cuentas reales en cuentas de prueba. La forma correcta de para crear cuentas de prueba es mediante el uso de la conexión de cuentas del objeto de gráfico de aplicación .

Esta pequeña notificación se mezcló con las actualizaciones de marzo.¡Probablemente debería RSS su blog de desarrollador para que estas cosas no me vuelvan a sorprender! Esta actualización en particular entró en vigencia el 4 de marzo. En cualquier caso, es bueno tener una respuesta concluyente desde la fuente.

+0

No tengo claro por qué esto debería romper las cuentas de prueba existentes del método anterior. ¿Hay alguna manera de convertirlos en el nuevo tipo que conoces? ¡Gracias! –

+0

Las cuentas de prueba antiguas ya no cuentan como "parte" de la aplicación. Las propias aplicaciones ahora generan cuentas de prueba, y esas son las únicas cuentas de prueba que pueden utilizar la aplicación (bueno, ellos y las cuentas reales por supuesto). Las nuevas creadas a través de llamadas API utilizando un token OAuth generado para la aplicación en sí. Intentar usar los antiguos con las aplicaciones ahora arroja una excepción al efecto de que esta entidad no puede ver la aplicación. No puedo entender por qué no deshabilitaron todas las cuentas antiguas y notificaron a las personas cuando iniciaron sesión como su antiguo probador. – DeaconDesperado

+0

Creo que probablemente querían mantener el sistema más limpio, ya que estas nuevas cuentas son autolimitantes y se eliminan después de un período de tiempo. – DeaconDesperado

Cuestiones relacionadas