2010-02-01 10 views
6

Esta es una pregunta novato. De acuerdo con la documentación de la API de Facebook, el campo de sexo en la función Users.getInfo() devuelve valores basados ​​en la configuración regional de los usuarios. Por lo tanto, determinar el sexo del usuario es difícil.campo "sexo" en Users.getInfo en Facebook API

¿Alguna solución sugerida?

+0

favor, no confundir los términos "sexo" y "género". Son conceptos bastante diferentes, y el sexo de una persona no siempre es igual a su género. –

+1

@Dietrich Eso puede ser cierto, particularmente en áreas especializadas de discusión, pero la API de Facebook no tiene un campo separado de 'género' y los dos términos son equivalentes en el uso diario. –

+0

Respetuosamente, decir que son equivalentes es una forma de marginar a los miembros de la comunidad trans. El campo de la informática tiene más que el promedio de miembros transexuales y transexuales. –

Respuesta

6

1) Esta no es una solución elegante, y tal vez hay una forma mejor de usar la API, pero ¿qué ocurre si creas manualmente una tabla de búsqueda para diferentes valores de 'sexo' en diferentes lugares? Puede intentar consultar los perfiles de Facebook de personas de diferentes países y obtener la cadena que se muestra para su sexo. Luego, póngalo en algún tipo de estructura de datos de diccionario que le permita tomar el par de cuerdas M-F basado en el código de la configuración regional (también proporcionado por getInfo()). Por ejemplo en-US => (male, female), ja-JP => (男性, 女性). Por supuesto, podrías intentar usar google translate también. Después de reunir estos datos para algunas de las principales configuraciones regionales, estaría más o menos cubierto. Tal vez alguien en los internets ya lo haya hecho.

Por supuesto, puede intentar enviar un correo electrónico a alguien que trabaje en la API para estos valores. La lista de códigos locales está aquí http://wiki.developers.facebook.com/index.php/Facebook_Locales.

2) Aquí está probablemente una solución mejor que (1). Si consulta directamente la tabla de usuarios FQL, el valor devuelto en 'sexo' siempre será en inglés, a partir del 7 de febrero de 2010. Más información al respecto aquí: http://wiki.developers.facebook.com/index.php/User_%28FQL%29. Entonces, quizás en el futuro, getInfo() solo devolverá el inglés. Quién sabe.

3) La respuesta a su pregunta también se da en esta entrada existente: Facebook FQL user table `sex` field : how to return male/female even the user is using different locale?

+0

respuesta muy clara. ¡gracias! – Raptor

+0

Lo gracioso es que nunca he tocado, mirado o incluso pensado acerca de la API de Facebook en mi vida. los motores de búsqueda son bastante maravillosos, ¿eh? =) –