Допустим, у меня есть приложение facebook, работающее с использованием JS SDK.
Первый пользователь нажимает на LINK A, и я звоню в FB.login () с просьбой разрешить «email».
<a href="#" onclick="doLogin();>LINK A</a>
<script>
function doLogin() {
FB.login(function (res) {
//res contains authResponse, i.e. the user is logged in.
}, { scope : 'email'} });
}
</script>
Затем я проверю authResponse, чтобы проверить, вошел ли пользователь в систему или нет.
if(res.authResponse) {
//User logged in
} else {
//User NOT logged in
}
ТЕПЕРЬ скажем, что в LINK B я хочу попросить "user_birthday"разрешение:
FB.login(function (res) {
//Now res.authResponse is set even if user did NOT grant access to the "user_birthday" permission
}, { scope : 'user_birthday'} });
Однако, когда сделан запрос на "user_birthday", пользователь уже вошел в приложение - и, следовательно, authResponse будет установлен независимо от того, предоставил ли пользователь доступ к дополнительному разрешению или нажал кнопку "Отмена"..
Есть ли способ проверить, дал ли пользователь дополнительное разрешение?
Я знаю, что могу выполнить поиск API на / me / permissions - но яИнтересно, есть ли способ сделать это в обратном вызове FB.login ()?