2011-02-13 9 views

ответ

1

Да, вы должны использовать вызов api, поскольку он не закодирован в токене доступа или какой-либо другой информации, переданной приложению.

Если проблема связана с производительностью, вы можете, конечно, кэшировать результат.

+0

Где я буду кэшировать его? Местное хранилище? – ma11hew28

+0

'' 'window.localStorage.setItem ('facebook', JSON.stringify (response));' '' – Alastair

0

Его хорошо назвать графиком api, чтобы получить User имя. Вы также можете найти таблицу User, чтобы получить имя пользователя. От вас зависит, что вам нравится?

1

Вы можете использовать FB.api следующим

function fqlQuery(){ 
     FB.api('/me', function(response) { 
       var query = FB.Data.query('select name,email,hometown_location, sex, pic_square from user where uid={0}', response.id); 
       query.wait(function(rows) { 
       uid = rows[0].uid; 
       document.getElementById('name').innerHTML = 
        'Your name: ' + rows[0].name + "<br />" + 
        'Your email: ' + rows[0].email + "<br />" + 
        'Your hometown_location: ' + rows[0].hometown_location + "<br />" + 
        'Your sex: ' + rows[0].sex + "<br />" + 
        'Your uid: ' + rows[0].uid + "<br />" + 
        '<img src="' + rows[0].pic_square + '" alt="" />' + "<br />"; 
       }); 
     }); 
    } 
11
FB.api('/me', function(response) { 
    $('#name').html("Welcome " + response.name); 
}); 

Это все, что вам нужно.

+6

Если вы хотите получить первое имя, это должно быть 'response.first_name', а не' response.name' –

+3

@ Super Chafouin спасибо, но response.first_name отправлено undefined. –

0

javascript SDK, который использует Facebook, позволяет вам получить имя, фамилию (которые не требуют специального разрешения), историю образования и многое другое, что имеет профиль пользователя Facebook. Но, чтобы получить «чувствительную» информацию, пользователь должен одобрить ваше приложение (если оно еще не было), а затем одобрить «чувствительную» информацию, такую ​​как история образования. На странице http://www.virtualsecrets.com/facebook-user-data-on-webpage-form.html показан весь процесс работы с SDK javascript и некоторая информация о том, как настроить приложения на веб-страницах.

2

Атрибуты firstname и lastname больше не возвращаются с помощью запроса на вход в API API FB JS. Это изменилось где-то между ver. 2.2 (06/2014) и 2.5 (01/2015).

Причина в том, что запрос Войти возвращает только общедоступные атрибуты, что является fbid и имя. Имя и фамилия не являются общедоступными атрибутами и требуют разрешения, предоставленные пользователем. See here.

Мы используем «догадку» обходной путь - если атрибут имени имеет более чем 1 слово, мы разделили их на FirstName и LastName атрибутов, или заполнить ПгвЬЫат от имени. Лучше/проще в некоторых ситуациях, чем беспокоить пользователей с разрешениями, проверками ответов, обратными вызовами и т. Д.

Смежные вопросы