2012-01-05 2 views
4

я заметил некоторую разницу в профилях Facebook:Преобразование имен Facebook к идентификационным номерам

Некоторые из них имеют следующий формат строки в браузере панели навигации:

http://facebook.com/john .smith

и другие выглядеть следующим образом: http://www.facebook.com/profile.php?id=100 *

Может кто-нибудь объяснить, почему есть разница?

И более важным является то, как я могу преобразовать эти john.smith как имена в номера идентификаторов?

ответ

9

Это псевдонимы, которые Facebook предлагает своим пользователям (и страницам) - в основном это тщеславие, и идентификатор, и псевдоним будут работать одинаково.

Вы можете перевести псевдоним (или имя пользователя), выполнив поиск этого пользователя с помощью API-интерфейса Facebook Graph. Просто сделайте запрос GET к https://graph.facebook.com/John, например - это будет служить следующий ответ:

{ 
    "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

+0

Теперь у меня есть еще один issue.Take взглянуть на эту ссылку: https://graph.facebook.com/100002639486261 Это какой-то человек, который написал свое имя на иврите. Есть ли способ расшифровать это? – Ivelius

+0

http://stackoverflow.com/questions/2934563/how-to-decode-unicode-escape-sequences-like-u00ed-to-proper-utf-8-encoded-cha –

+2

Обратите внимание, что это решение теперь не функционирует как facebook, всего лишь несколько дней назад, требуется аутентификация, прежде чем вы сможете получить доступ к графику.facebook.com –

1

Вы не хотите. преобразование идентификаторов в имена, но получение идентификатора username, что возможно, отправив запрос в Graph API:

GET https:/graph.facebook.com/john.smith?fields=id 
0

Вот на основе JQuery решения, где обратный вызов произвольная функция:

$.get("https://graph.facebook.com/" + name + "?fields=id", function(response){ 
    if(response.error){ 
     callback(false) 
    }else{ 
     callback(response.id); 
    } 
}); 
Смежные вопросы