2012-01-17 17 views
3

私はFacebook C#SDK(webforms、asp.net用のサーバー側)を使ってかなり新しいです。ユーザーの住所と郵便番号を取得するにはどうすればいいですか?それはサブテーブルなので、最初に位置IDを取得してからそのリンクからその場所に移動し、アドレス、ジップなどを取得しなければならないと仮定します。ユーザー郵便番号と住所を取得するには?

誰かが私を指すために共有できるコードを持っています方向?

答えて

1

Facebookの は、この情報を持っていない(これはFacebookのクレジットを使用して、それらのための真実ではないとすることができ、クレジットカードの詳細を、この情報を脇に提供している)と APIを経由して、それを取得する方法を提供していません。

唯一得られる情報は、「故郷」と「現在の都市」です(ユーザーからの許可が必要です)。

更新:
Facebookはこの情報を持っているとuser_address許可を要求することにより、それを得るための方法を提供しないと思われます。 Update3と
コメントで述べたようにaddressフィールドは

上記のリンクから投稿するもう動作しないようです:
はそのポストImprovements to Permissions for Address and Mobile Numberアップデート2は、より詳細User Address and Mobile Phone Number

のための開発者ブログに投稿するために参照してください。 3日後に「一時的な」に関する情報がこの機能を無効にしています。

これらの更新プログラムはできるだけ早く開始する予定で、変更が完了するまで一時的にこの機能を無効にします。

ユーザーの情報のような呼び出しによって取得することができます: https://graph.facebook.com/methis linkを参照)

をユーザーをしたら、私はほとんどの情報を取得する方法を発見した

+0

うーん、(のhttp:// developers.facebook.com/docs/reference/rest/users.getInfo/)? –

0

response.location.id

このIDをhereとして使用すると、次のようなオブジェクトが表示されます。

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

マイコード(ジャバスクリプト):

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" /> 
+0

私のポスト2日前から、都道府県と国はロケーションオブジェクトに戻っていません。非常にイライラ。 :( –

関連する問題