Как получить почтовый индекс и адрес пользователя? - PullRequest
3 голосов
/ 17 января 2012

Я новичок в использовании Facebook C # SDK (серверная часть для веб-форм, asp.net).Как бы вы получили адрес пользователя и почтовый индекс?Это вспомогательная таблица, поэтому я предполагаю, что сначала вы должны получить идентификатор местоположения, а затем по этой ссылке на местоположение, а затем получить адрес, почтовый индекс и т. Д.меня в направлении?

Ответы [ 2 ]

1 голос
/ 17 января 2012

Facebook не имеет этой информации (это может быть неверно для тех, кто использует кредиты Facebook и предоставили эту информацию помимо данных кредитной карты) и не предоставляет никакого способа получить ее через API.

Единственная информация, которую вы можете получить, - это «Родной город» и «Текущий город» (требуются разрешения от пользователя).

Обновление:
Похоже, что Facebook действительно имеет эту информацию и предоставляет способчтобы получить его, запросив разрешение user_address.Обратитесь к сообщению в блоге разработчиков для получения более подробной информации Адрес пользователя и номер мобильного телефона

Обновление 2:
Кажется, address поле больше не работает, как отмеченов комментарии к сообщению по ссылке выше

Обновление 3:
Улучшения в разрешениях на адрес и номер мобильного телефона Сообщение, появившееся через три дня, содержит информацию о «временное» отключение этой функции.

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

0 голосов
/ 08 сентября 2012

Я нашел способ получить большую часть информации:

Информация о пользователе может быть получена с помощью вызова, такого как: 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" />
...