Я пытаюсь установить разрешение в моем приложении для запроса электронной почты пользователей.
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'APP_ID',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
FB.Event.subscribe('auth.login', function(response) {
//window.location.reload();
window.location = "/welcome.html";
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<div id="fb-root"></div>
<div class="fb-login-button" data-scope="email" >
Login with Facebook
</div>
Когда пользователь в настоящее время вошел в Facebook, он получает диалоговое окно с просьбой разрешить мое приложение.Он также просит разрешения использовать их электронную почту.Это ожидаемое поведение, и оно работает.
Когда пользователь в настоящее время НЕ вошел в Facebook, ему предоставляется диалог входа в систему (это также ожидается и работает), следующее диалоговое окно, которое появляется, чтобы разрешитьмое приложение, но оно НЕ имеет разрешения на их электронную почту, и именно здесь у меня возникают проблемы.
Я прочитал и попробовал различные методы, которые описаны в других вопросах.Например, вызов метода FB.login с помощью щелчка мышью и установка области разрешения таким образом, но все равно не повезло.просто не вижу, чего мне не хватает.Я также попробовал подход xfbml и столкнулся с той же проблемой, что и с div.