私はjavascript sdkを使って自分のウェブサイトでfacebook認証を使用しています。私は自分の電子メールと名前を取得できますが、ログインしている場合は自分のメールアドレスを取得できません(名前は私のfbデベロッパーアプリです)。facebookを使ってfacebookのメールを受け取ることができないjavascript sdk
誰もまだFacebookにログインしていないのに何も起こらない場合は、ログインを求めます。私はそれが私のアプリにログインするはずの警告を入れて、それは実際には電子メールではなく、名前を返します。しかし、それが私の場合、私は両方を取得します。それはなぜですか?
は、ここに私のコードです:
<%-- Facebook conection script--%>
<script src="//connect.facebook.net/en_US/all.js"></script>
<script> FB.init({
appId: '334351783684824',
cookie: true,
xfbml: true,
version: 'v2.8'
});
function fbAuthUser() {
FB.login(checkLoginStatus);;
}
function checkLoginStatus(response) {
if (response.status === 'connected') {
FB.api('/me', 'GET', { fields: 'email,name' }, function (response) {
alert(response.email + "; " + response.name);
Ajax(response.email, response.name);
});
}
}
function Ajax(expressao1, expressao2) {
var request = { email: expressao1, nome: expressao2 }
$.ajax({
url: 'login.aspx/LoginExterno',
method: 'post',
contentType: 'application/json',
data: JSON.stringify(request),
dataType: 'json',
success: function (resp) {
window.location.href = resp.d;
},
error: function() { }
})
}
</script>
すでに彼/彼女ならば、ログインし、データを取得した後、インデックスにユーザーをリダイレクトするC#の機能の背後にあるコードにアクセスするには、そのAjaxの機能を使用することになっています彼/彼女が持っていない場合は、アカウントを持っているか、またはレジストリに。おそらくAjax関数には入っていません。電子メールパラメータは未定義です。しかし、両方が存在するときはそれがあります。
どうすればメールを受け取ることができますか?
他のアカウントの電子メールを取得できないというスレッドがたくさんあります。すべてのユーザーアカウントに電子メールがあるわけではありません。 – luschn
こんにちは。そうです、私はそれらのいくつかを読んで、私はそれらを試しましたが、私はまだそれを得ることができません。 – taiko
私は2人にそれをテストするように頼んだが、それを得ることができなかった。そして、はい、彼らは彼らのFacebookのアカウントに電子メールを持っています。私は彼らのfacebookプロフィールにそれを表示しようと依頼しました。しかしそれでもそれを得ることはできません。 – taiko