私は、facebookに私のウェブサイトを訪れるログインしたFacebookのユーザーの電子メールアドレスをインポートするアプリケーションを開発しようとしています.Yahooのコンタクトインポーターやその他のコンタクトインポーターのようなものです。ログインしたFacebookのユーザーからメールアドレスをインポートしますか?
- ユーザー 'X'がFacebookにログインしています。
- アプリには友だちのUID(ユーザー 'X'の可能性のある友人)のセットがあります。
これらのUIDの電子メールアドレスを取得したいのですが、UID、誕生日、名前、first_name、last_nameのみがクエリ結果に表示され、電子メールアドレスはNULLで表示されます。
(perms:'publish_stream,read_stream,offline_access,manage_pages,friends_activities,friends_about_me,user_hometown,user_birthday,user_about_me,user_hometown,user_photos,email,manage_friendlists,read_friendlists')
注:しかし、私は次のように、友人に関連するすべての拡張アクセス権を追加しました私は、開発者のためのFacebookのAPIを閲覧し、任意の解決策を見つけることができませんでした。
マイコード:
<body>
<h1>Login to FaceBook using My Web Application</h1>
<div>
<button id="login">Log In</button>
<button id="logout">Log Out</button>
<button id="disconnect">Disconnect</button>
</div>
<div id="user-info" style="display: none;"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
// initialize the library with the API key
FB.init({ apiKey: 'c2e2e62acc6a292c20c63404bcfecb23' });
// fetch the status on load
FB.getLoginStatus(handleSessionResponse);
$('#login').bind('click', function() {
FB.login(handleSessionResponse,{perms:'publish_stream,read_stream,offline_access,manage_pages,friends_activities,friends_about_me,user_hometown,user_birthday,user_about_me,user_hometown,user_photos,email,manage_friendlists,read_friendlists'});
});
$('#logout').bind('click', function() {
FB.logout(handleSessionResponse);
});
$('#disconnect').bind('click', function() {
FB.api({ method: 'Auth.revokeAuthorization' }, function(response) {
clearDisplay();
});
});
// no user, clear display
function clearDisplay() {
$('#user-info').hide('fast');
}
// handle a session response from any of the auth related calls
function handleSessionResponse(response) {
// if we dont have a session, just hide the user info
if (!response.session) {
clearDisplay();
return;
}
FB.api(
{
method: 'fql.query',
query: 'SELECT pic,hometown_location,name,username, uid, email, sex, birthday FROM user WHERE uid=' + FB.getSession().uid
},
function(response) {
var user = response[0];
$('#user-info').html("<img src="+user.pic+"/>"+'<br/>ID: '+user.uid +'<br/>User Name: '+ user.name +'<br/>Email: '+ user.email +'<br/>Birth Day: '+ user.birthday +'<br/>Gender: ' + user.sex+'<br/>Home Town: ' +user.hometown_location['state']).show('fast');
}
);
// if we have a session, query for the user's profile picture and name
FB.api(
{
method: 'friends.get'
},
function(response)
{
$(response).each(function() {
var userid = this;
FB.api(
{
method: 'fql.query',
query: 'SELECT uid,name,email,birthday FROM user WHERE uid=' + userid
},function(response)
{
var user = response[0]
$('#user-info').append('<br/>ID: '+user.uid+ ', Name: '+user.name+' ,Email: '+user.email);
});
});
}
);
}
</script>
</body>
申し訳ありません私はすべての電子メールの連絡先は、Facebookが電子メールを抽出することはできませんレジスタ –
を確認する必要はありませドン、ログイン後に鉱山のfriendsListから電子メールを抽出する必要があります。あなたは電子メールのハッシュだけを得ることができます。 –
オハイオ州...私はあなたが "自分のウェブサイトからFacebookにログインしたフェイスブックユーザーの電子メールをインポートする"場合、いくつかの電子メールを持っていて、これらの電子メールでFacebookのユーザーを探したいと思った。私があなたを誤解した場合は、あなたの仕事を洗練できますか? –