Получение данных профиля пользователя Facebook с помощью Javascript

Мне нужно получить пользовательский интерфейс uid, пол, фотографию и другие данные профиля с помощью Javascript.

Я помню, что существует способ получить объект пользователя с .id,.gender,.photo, но у меня нет копии вызова API, и я не могу найти объяснение в документации.

Как получить UID пользователя и пол с помощью Javascript?

Спасибо

Ответ 1

Обновление: я добавил немного больше ответа на вопрос:

Сначала вам нужно вызвать FB.init и добавить свой идентификатор приложения:

FB.init(
{
    appId  : APP_ID,
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true  // parse XFBML
});

Затем проверьте, открыт ли сеанс (т.е. пользователь вошел в систему)

if(FB.getSession() != null) {

И запросите детали:

    FB.api('/me', function(response) 
    {
        alert ("Welcome " + response.name + ": Your UID is " + response.id); 
    });
}

Вам также нужно добавить <div id="fb-root"></div> к <body> вашей странице и загрузить <script src="http://connect.facebook.net/en_US/all.js"></script>

Доступ к picure профиля пользователя можно получить как http:/graph.facebook.com/USERID/picture/

Проверьте ссылку на API Graph здесь: http://developers.facebook.com/docs/reference/api/user/

и ссылка FB SDK здесь: http://developers.facebook.com/docs/reference/javascript/

Ответ 2

Функция FB.getSession(), используемая в принятом ответе на этот вопрос в 2011 году, теперь (2012) устарела и удалена из SDK Facebook JS.

Вы все еще можете найти идентификатор пользователя Facebook с помощью метода getLoginStatus(), например:

FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    alert ("Your UID is " + response.authResponse.userID);
  }
});

Примечание: вам все равно нужно запустить API Facebook и поместить элемент fb-root в свой HTML, как объяснил Аледам в принятом ответе.