我注意到Facebook个人资料有些不同:
其中一些在浏览器导航栏中具有以下字符串格式:
http://facebook.com/john.smith
其他人看起来像这样: 的 http://www.facebook.com/profile.php?id=100 455 *
有人可以解释为什么会有区别吗?
更重要的是我如何将那些 john.smith 之类的名称转换为id号?
答案 0 :(得分:9)
这些是Facebook为其用户(和页面)提供的别名网址 - 它基本上是虚荣的东西,id和别名url将以相同的方式工作。
您可以使用Facebook Graph API对该用户进行查找来翻译别名(或用户名)。只需向https://graph.facebook.com/John
发出GET请求即可 - 这将提供以下响应:
{
"id": "779695190",
"name": "John Chan",
"first_name": "John",
"last_name": "Chan",
"link": "http://www.facebook.com/John",
"username": "John",
"gender": "male",
"locale": "en_US",
"updated_time": "2011-12-27T05:01:06+0000",
"type": "user"
}
response.id
是您感兴趣的。
测试出来:http://developers.facebook.com/tools/explorer?method=GET&path=john
答案 1 :(得分:1)
您并不是真的想将ID转换为名称,而是通过username
获取ID,这可以通过向Graph API发出请求来实现:
GET https:/graph.facebook.com/john.smith?fields=id
答案 2 :(得分:0)
这是一个基于JQuery的解决方案,其中回调是一个任意函数:
$.get("https://graph.facebook.com/" + name + "?fields=id", function(response){
if(response.error){
callback(false)
}else{
callback(response.id);
}
});