繁体   English   中英

Facebook Graph API-如何从公开资料中获取性别

[英]Facebook Graph API - How to get Gender from Public Profile

我需要通过Facebook Graph API从Facebook用户的公开个人资料中检索性别。

不幸的是,它并不总是有效。 请参阅以下示例:

工作: https//graph.facebook.com/1423993568

{
   "id": "1423993568",
   "gender": "male",
   ...
}

不起作用: https : //graph.facebook.com/10152133878666403

{
   "error": {
      "message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
      "type": "GraphMethodException",
      "code": 100
   }
}

但是,当我直接通过网络打开用户ID时,它可以工作,甚至可以看到性别。 (转到“关于/联系方式和基本信息”)我用我的个人帐户登录,而不是该用户的朋友! http://www.facebook.com/10152133878666403

问题是什么? Facebook的请求或安全功能有问题吗?

更新:

我可以执行以下解决方法,但前提是必须使用浏览器登录:

打开此请求时,请使用app_scoped_user_id并从重定向URL获取Facebook用户名:

http://www.facebook.com/app_scoped_user_id/10152133878666403
  --> https://www.facebook.com/shiffoni
  --> https://graph.facebook.com/shiffoni

返回:

{
   "id": "669926402",
   "first_name": "Shiffoni",
   "gender": "female",
   "last_name": "Leonhardt",
   "locale": "de_DE",
   "name": "Shiffoni Leonhardt",
   "username": "shiffoni"
}

还有其他想法可以获取性别,真实用户ID或昵称吗?

正如Facebook员工在评论中已经回答的那样,根本不可能,因为不支持获取“性别”或真实的Facebook用户ID。

可能的解决方法:

  • 使用性别api(例如sexizeize.io )基于名字检索性别。
  • 从用户关于页面的Facebook抓取性别信息(需要通过网络登录)。

使用develoers.facebook.com =>工具和支持=> Graph API Explorer下的facebook graph api进行检查的最佳方法。

$fb = new Facebook(array(
 'appId'  => $app_id,
  'secret' => $app_secret,
  'cookie' => true
));

$fbuser=$fb->api('/me/friends?fields=id,name,gender');

它将为您的所有好友提供姓名和性别的列表,您可以循环浏览并在循环中放置一个条件,以分隔男性和女性朋友。

希望能帮助到你

有关更多信息,请阅读本文

通过性别结交Facebook朋友

仅使用API​​版本v1.0返回用户性别。 不幸的是,v1.0的有效期至2015年4月30日, https://developers.facebook.com/docs/apps/changelog http://www.name-gender.com/还是检查性别的很好的api。

在Facebook中无法获取个人资料的性别,但您可以拆分名字并将请求发送到https://genderapi.io

https://genderapi.io/api/?name=mike

{"name":"mike", "q":"mike", "gender":"male", "total_names":8336, "probability":99}

形成我所理解的是不可能仅从图API v3中获得,因为在2.12中我仍然能够获得性别

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM