85

我有一个 FB id 列表,有没有一种可以在没有图形查询的情况下构建其 FB url 的规范方法?

例如,我有 id 3、4、5,我想要他们的 Facebook URL,而不使用图形 api 并将它们保存下来

4

6 回答 6

136

更新 2: facebook 不再提供此信息。有关于行为改变的官方公告(https://developers.facebook.com/blog/post/2018/04/19/facebook-login-changes-address-abuse/)但没有替代方案。

是的,只需使用此链接并将您的 ID 附加到id参数:

https://facebook.com/profile.php?id=<UID>

例如:

https://facebook.com/profile.php?id=4

将自动将您重定向到https://www.facebook.com/zuck马克扎克伯格的个人资料。

如果您想对所有 id 执行此操作,则可以使用循环来执行此操作。

如果你愿意,我可以为你提供一个片段。

更新:或者,您也可以这样做:

https://facebook.com/<UID>

所以那将是:https ://facebook.com/4 ,它会自动重定向到 Zuck!

于 2012-10-10T20:36:32.497 回答
75

接受的答案对我不起作用,这是:

https://www.facebook.com/app_scoped_user_id/10152384781676191
于 2014-12-30T00:52:44.333 回答
23

最简单、最正确(合法)的方式是使用graph api。

只需执行请求: http: //graph.facebook.com/4

返回

{
   "id": "4",
   "name": "Mark Zuckerberg",
   "first_name": "Mark",
   "last_name": "Zuckerberg",
   "link": "http://www.facebook.com/zuck",
   "username": "zuck",
   "gender": "male",
   "locale": "en_US"
}

并拿走link钥匙。

您还可以通过使用fields参数来减少流量:http ://graph.facebook.com/4?fields=link只获取您需要的内容:

{
   "link": "http://www.facebook.com/zuck",
   "id": "4"
}
于 2012-10-10T20:40:33.443 回答
1

标记的答案似乎已过时,并且不起作用。

Facebook 现在只提供与应用程序相关的唯一 ID,它不等于 userId 和 profileUrl,并且用户名将为空。

me?fields=id,name,links在 Graph 版本 2.4 之后,Doing也会贬值

现在唯一的选择是从您的开发者控制台请求 user_links 权限。

在此处输入图像描述

并在进行 facebook 登录时将其传递给范围

scope: ['user_link'] }

或通过调用 api

于 2019-10-11T10:15:22.257 回答
1

截至目前(2019 年 11 月),graph.api V5.0

graph API 说,参考 graph api

指向此人时间线的链接。仅当单击链接的人登录 Facebook 并且是正在查看其个人资料的人的朋友时,该链接才会解析。

文档

于 2019-11-14T15:50:05.593 回答
0

我一起收集了信息:

最后:如果没有额外的 Facebook 权限检查,它就无法工作:(

于 2020-05-11T12:29:30.913 回答