-1
私は自分のWebサイト用にFacbookSDK 2.8を実装しようとしていますが、以下は単純化されたコードです。Facebook SDK 2.8は電子メールアドレスを与えません
<button onclick="logout()">Logout</button>
<button onclick="login()">LogIn</button>
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
setTimeout(() => {
window.fbAsyncInit =() => {
FB.init({
appId: 'xxxxxxx', //My app id here
cookie: true, // enable cookies to allow the server to access
// the session
xfbml: true, // parse social plugins on this page
version: 'v2.8' // use graph api version 2.8
});
checkFBLoginStatus();
}
})
function checkFBLoginStatus() {
FB.getLoginStatus((response) => {
console.log(response)
});
}
function logout() {
FB.logout(function(response) {
console.log(response)
})
}
function login() {
FB.login(function(response) {
console.log(response)
FB.api('/me?fields=id,email,name', function(response) {
console.log(JSON.stringify(response));
});
}, {
scope: 'email'
})
}
function onLoginSuccess() {
FB.getLoginStatus(function(response) {
console.log(response)
})
}
</script>
私は、ログアウト時に応答を取得し、ここで
ログインしています、私が設定したユーザの電子メールを必要とするのに対し、私は唯一のIDと名前を取得しています、私の質問はFB.api呼び出しで
です一意のユーザー識別子として使用します。
いつ私はnot_authorizedを達成することができます。私はステータスが「接続されています」、ログインすると「不明」になっています。私はun_authorized状態を再現することができないので、私はそれをコード化することができます。
_ "ユニークなユーザー識別子として設定するにはユーザーの電子メールが必要です" msgstr ""電子メール "のアクセス許可のドキュメントは、あなたが取得できないことを既に示しています。 Facebookのすべてのユーザーからのメール。アプリスコープのユーザーIDは固有のIDです。 – CBroe