从Facebook Graph API /user获取"real"个人资料网址



/user的API文档中所述,link字段包含用户的配置文件URL。然而,这个URL通常会重定向到不同的URL(即谷歌结果中显示的URL)。

是否有任何方法可以通过Facebook API确定给定配置文件的最终重定向位置("真实"URL)?

例如,给定:

"link":"https://www.facebook.com/1091552020"

我想从API 中检索https://www.facebook.com/sbhutiani

您无法再获取用户的真实ID或用户名,因此无法获取"真实URL"。更多信息:https://developers.facebook.com/docs/apps/changelog

您可以通过以下API调用获取用户配置文件的链接:/me?fields=link

查看Facebook文档中的"应用程序范围ID"。

更新:似乎无法再链接到用户配置文件:https://developers.facebook.com/blog/post/2018/04/19/facebook-login-changes-address-abuse/

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

当您使用/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"
}

最新更新