如/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"
}