这是一个菜鸟问题。根据Facebook API文档,Users.getInfo()函数中的性别字段根据用户的语言环境返回值。因此,确定用户的性别是困难的。
建议任何解决方案?
答案 0 :(得分:6)
1)这不是一个优雅的解决方案,也许有更好的方法使用API,但是如果你在不同的语言环境中为不同的“性别”值手动创建一个查找表怎么办?您可以尝试查看来自不同国家/地区的人的Facebook个人资料,并获取显示其性别的字符串。然后,将它放入某种字典数据结构中,允许您根据语言环境的代码(也由getInfo()给出)获取M-F字符串对。例如en-US => (male, female), ja-JP => (男性, 女性)
。当然,您也可以尝试使用谷歌翻译。在为少数几个主要语言环境收集这些数据之后,您或多或少会被覆盖。也许互联网上有人已经做过了。
当然,您可以尝试向使用API处理这些值的人发送电子邮件。区域设置代码列表位于http://wiki.developers.facebook.com/index.php/Facebook_Locales。
2)这可能是更好解决方案而不是(1)。如果您直接查询FQL用户表,则从2010年2月7日开始,“sex”中返回的值将始终为英语。有关详细信息,请访问:http://wiki.developers.facebook.com/index.php/User_%28FQL%29。所以,也许将来getInfo()也只会返回英文。谁知道呢。
3)这个现有帖子也给出了你的问题的答案:Facebook FQL user table `sex` field : how to return male/female even the user is using different locale?