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

标签 facebook facebook-graph-api

我需要通过 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时,它起作用了,我什至可以看到性别。 (转到“关于/联系方式和基本信息”)我是用我的个人帐户登录的,不是该用户的 friend ! 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(例如 genderize.io)根据第一个检索性别 姓名。
  • 从 Facebook 上抓取性别信息(需要 通过网络登录)来自用户关于页面。

关于Facebook Graph API - 如何从公开个人资料中获取性别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24945763/

相关文章:

android - 从 Adob​​e Air android 应用程序发布到 facebook 墙

javascript - Facebook 上的错误,API 错误代码 : 100, API 错误描述 : invalid parameter, 错误消息:链接 URL 格式不正确

php - Graph API/FQL 不返回页面的所有事件

c# - 适用于 Windows Phone 的 Facebook SDK : InvalidOperationException: Operation is not valid due to the current state of the object

android - Android 上的 Facebook 单点登录 (SSO) 在激活时关闭 Intent

Facebook API : undocumented 'properties' attribute on Post type

ios - 如何预先填写在Facebook帖子中写一些文字到 friend 墙

ios - Facebook 图形 API : RSVP to Event

facebook-graph-api - Facebook的 "blue"背景色的十六进制代码是多少?

ios - 需要 fb :like in UIWebView with edge. 创建/删除事件触发的工作示例