Я нашел способ получить большую часть информации:
Информация о пользователе может быть получена с помощью вызова, такого как: https://graph.facebook.com/me (см. эту ссылку )
Как только у вас есть пользователь, вы можете получить идентификатор местоположения через: response.location.id
Если вы используете этот идентификатор как здесь , вы получите объект, который выглядиткак это:
{
"name": "Hurricane, Utah",
"is_published": true,
"is_community_page": true,
"description": "blah...blah...blah",
"location": {
"city": "Hurricane",
"state": "UT",
"country": "United States",
"latitude": 37.1742,
"longitude": -113.326
},
"checkins": 677,
"were_here_count": 14647,
"talking_about_count": 1391,
"category": "City",
"id": "112177375464163",
"link": "http://www.facebook.com/pages/Hurricane-Utah/112177375464163",
"likes": 1730
}
Мой код (javascript):
var locationFunc = function (response) {
document.getElementById('loginForm:fbCity').value = response.location.city;
document.getElementById('loginForm:fbState').value = response.location.state;
hiddenBtn = document.getElementById('loginForm:hiddenBtn');
hiddenBtn.click();
}
var meFunc = function(response) {
document.getElementById('loginForm:fbUserID').value = response.id;
document.getElementById('loginForm:fbFirstName').value = response.first_name;
document.getElementById('loginForm:fbLastName').value = response.last_name;
document.getElementById('loginForm:fbEmail').value = response.email;
FB.api('/' + response.location.id, locationFunc);
}
var loginFunc = function (response) {
FB.api('/me', meFunc);
}
function fbAsyncInitLocal() {
FB.Event.subscribe('auth.authResponseChange', (loginFunc));
}
window.fbAsyncInit = fbAsyncInitLocal;
Мой код (JSF - ICEfaces):
<ice:inputText id="fbUserID" name="fbUserID" immediate="true" style="display:none"/>
<ice:inputText id="fbFirstName" name="fbFirstName" immediate="true" style="display:none"/>
<ice:inputText id="fbLastName" name="fbLastName" immediate="true" style="display:none"/>
<ice:inputText id="fbEmail" name="fbEmail" immediate="true" style="display:none"/>
<ice:inputText id="fbCity" name="fbCity" immediate="true" style="display:none"/>
<ice:inputText id="fbState" name="fbState" immediate="true" style="display:none"/>
<ice:commandButton id="hiddenBtn" name="hiddenBtn" action="#{CustomerBB.fbLoginAction}" immediate="true" style="display:none" />