得到真实的" Facebook Graph API /用户的个人资料网址

时间:2015-03-19 18:39:00

标签: facebook api rest oauth

正如/user link中所述,"link":"https://www.facebook.com/1091552020"字段包含用户的个人资料网址。但是,此网址通常会重定向到其他网址(即显示在Google搜索结果中的网址)。

有没有办法通过Facebook API确定给定个人资料的最终重定向位置("真实" URL)?

例如,给定:

https://www.facebook.com/sbhutiani

我想从API中检索{{1}}

2 个答案:

答案 0 :(得分:19)

您无法再获取真实ID或用户名,因此无法获得“真实网址”。更多信息:https://developers.facebook.com/docs/apps/changelog

您可以通过以下API调用获取指向用户个人资料的链接:/me?fields=link

查看Facebook文档中的“App Scoped IDs”。

更新:似乎无法再链接到用户个人资料:https://developers.facebook.com/blog/post/2018/04/19/facebook-login-changes-address-abuse/

答案 1 :(得分:3)

Facebook似乎创建了一个名为user_link的单独权限(用户需要批准),您才能获取该权限。您可以在此处查看更多详细信息: https://developers.facebook.com/docs/facebook-login/permissions/#reference-user_link

当您使用/me?metadata=1查询有关端点可用字段的元数据时,这就是link描述所说的:

{
  "name": "link",
  "description": "A link to the person's Timeline. The link will only resolve if the person clicking the link is logged into Facebook and is a friend of the person whose profile is being viewed.",
  "type": "string"
}

如果用户已批准该权限,则可以像以前一样获取链接:

/me?fields=link

{
  "link": "https://www.facebook.com/app_scoped_user_id/SOME_TOKEN/",
  "id": "USER_ID"
}