【发布时间】:2012-10-01 10:07:40
【问题描述】:
我有一个 FB id 列表,有没有一种可以在不使用图形查询的情况下构建其 FB url 的规范方法?
例如,我有 ids 3、4、5,我想要他们的 Facebook URL,而不使用图形 api 并将它们保存下来
【问题讨论】:
-
"不使用图形 api" - 无论如何您都需要向 facebook 执行请求。为什么不正确地做(使用graph api)?
标签: facebook
我有一个 FB id 列表,有没有一种可以在不使用图形查询的情况下构建其 FB url 的规范方法?
例如,我有 ids 3、4、5,我想要他们的 Facebook URL,而不使用图形 api 并将它们保存下来
【问题讨论】:
标签: facebook
我已经一起收集了信息:
user_link,见https://developers.facebook.com/docs/facebook-login/permissions/
link(例如https://graph.facebook.com/me?fields=link,name,email)link。注意字段长度——在我的例子中是 202:https://www.facebook.com/app_scoped_user_id/YXNpZADpBWEd0SlhFZAElYa3BQT3U3Tm4xWVRLSlJfYUdUM3Y4YmIwQjBaRkM0VDBMNURQdUhhYk5NRDJoR1ZA5ZA1JOdGNwampsSTQyMDQwbW93bkp0dnZAmOXg3NTFISFVZAQlRscWQ5eEZAvcU4xZAC1B/
最后:如果没有额外的 Facebook 权限检查,它就无法工作:(
【讨论】:
截至目前(2019 年 11 月),graph.api V5.0
图形 API 说,refer graph api
指向此人时间线的链接。只有当点击链接的人登录 Facebook 并且是正在查看其个人资料的人的朋友时,该链接才会解析。
【讨论】:
更新 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 执行此操作,则可以使用循环来执行此操作。
如果你愿意,我可以为你提供一个 sn-p。
更新:或者,您也可以这样做:
https://facebook.com/<UID>
那就是:https://facebook.com/4,它会自动重定向到 Zuck!
【讨论】:
https://facebook.com/<UID> 使用它,它不断将我重定向到我的主页
已接受的答案对我不起作用,这样做:
https://www.facebook.com/app_scoped_user_id/10152384781676191
【讨论】:
最简单、最正确(合法)的方式是使用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"
}
【讨论】:
access_token 和https 是行不通的。示例:https://graph.facebook.com/4?access_token=YOUR_YOKEN
https://graph.facebook.com/<ID>?fields=link&access_token=<ACCESS_TOKEN> 上添加 fields=link