将Facebook名称转换为ID号

时间:2012-01-05 13:19:00

标签: facebook facebook-graph-api userid

我注意到Facebook个人资料有些不同:

其中一些在浏览器导航栏中具有以下字符串格式:

http://facebook.com/john.smith

其他人看起来像这样: 的 http://www.facebook.com/profile.php?id=100 455 *

有人可以解释为什么会有区别吗?

更重要的是我如何将那些 john.smith 之类的名称转换为id号?

3 个答案:

答案 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);
    }
});